Следующий код суммирует значения двух карт в одну карту.
val merged = (map1 /: map2) { case (map, (k,v)) =>
map + ( k -> (v + map.getOrElse(k, 0)) )
}
Однако мне не удалось преобразовать его с помощью функции foldLeft()()
.
Вот то, что я пытался, но не смог значительно прогрессировать.
val merged2 = map2 foldLeft (map1) ((acc:Map[Int,Int], (k:Int,v:Int)) => acc + ( k -> (v + acc.getOrElse(k, 0)) ))
Как правильно переписать, используя функцию foldLeft?