上のパターンヘッド/テール私は末尾再帰メソッドを作成しようとしているが、私は地図を使用していると私は/地図がnull /空であるかどうかをチェックするためにパターンマッチングを使用する方法を知っていると頭を得ることはありませんテール:スカラ - 地図
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)]())
}
}
大文字小文字の大文字と小文字のh @ tの正しい構文は何ですか?
感謝の事前
通常の警告:あなたは複数回同じキー、たびに計算されます.sum' 'seq.map(。_量)にアクセスするので、もし' mapValues'は、ビューを返します。 –