2
在2.7我能做到以下幾點:斯卡拉2.8和地圖視圖
val lazyM: Map[_, _] = map.projection.mapElements(v => expCalc(v)) //MAP VIEW
我找不到2.8這樣做的方式,實際上與地圖結束了:
val m: Map[_, _] = map.view.map(kv => kv._1 -> expCalc(kv._2)).toMap //STRICT
這似乎是一個重大的功能喪失,因此我認爲它隱藏在某處的集合庫中。有人有主意嗎?
編輯 - 愚蠢我假定mapValues完全相同作爲舊mapElements
這不完全「懶「(對每個關鍵點進行零或一個評估,並且儘可能延遲這些評估),這更像是」動態「,因爲每次在得到的地圖視圖中檢索關鍵字時,對mapValues調用中提供的函數進行評估* *。 – 2010-07-16 16:56:48
是的,這就是我的意思。我不應該使用懶惰 – 2010-07-16 17:04:10
這個詞我建議說「mapValues返回一個視圖」。 – 2010-07-16 17:43:49