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)'。 –
包括錯誤信息本來是個好主意。它也可能指出你在正確的方向 –