1
“地图映射到地图”,多么满口。如何简洁地将地图映射到地图
反正,我可以这样做:
val list = List(1, 2, 3)
val list2 = list map (item => item + 1)
println(list2)
// List(2, 3, 4)
为什么下面不工作?:
val ages = Map("alice" -> 21, "bob" -> 22)
val ages2 = ages map ((name, age) => (name, age + 1))
,以及如何去制作它的工作?
编辑: 我想通了,我不得不这样做:
val ages2 = ages map {case (name, age) => (name, age + 1)}
,但这并没有回答我的第一个问题,这就是为什么我天真的第一种方法是行不通的。
我知道这不是问题,但如果您不需要更改'Map'的关键部分,则可以使用'mapValues'方法(懒惰地)对这些值应用函数。例如,在这里,你可以做'ages2.mapValues(_ + 1)'。 –
包括错误信息本来是个好主意。它也可能指出你在正确的方向 –