Ich versuche, einen Schwanz rekursive Methode zu machen, aber ich bin mit Karte und ich weiß nicht, wie Muster zu verwenden Passende zu überprüfen, ob Karte leer/null ist und erhalte Kopf/Schwanz:Scala - Muster Kopf/Schwanz auf der Karte
def aa(a:Map[String, Seq[Operation]]): Map[String, (Seq[Operation], Double)] = {
def aaRec(xx:Map[String, Seq[Operation]],
res:Map[String, (Seq[Operation], Double)],
acc:Double = 0): Map[String, (Seq[Operation], Double)] = xx match {
case ? =>
res
case _ =>
val head = xx.head
val balance = head._2.foldLeft(acc)(_ + _.amount)
aaRec(xx.tail, res + (head._1 -> (head._2, balance)), balance)
}
aaRec(a, Map[String, (Seq[Operation], Double)]())
}
}
Was auf Fall leer Karte und Fall h :: t die korrekte Syntax ist?
Danken im Voraus
Die übliche Warnung: 'mapValues' gibt einen Blick, wenn Sie also die gleiche Taste mehr als einmal zugreifen,' seq.map (_ Betrag.) .sum' wird jedes Mal berechnet werden. –