Scala嵌套了可更新的地图?

时间:2014-02-12 03:43:04

标签: javascript scala map mutable

我真的只熟悉如何在javascript中执行此操作,因此在Scala中尝试它会出现一些问题。

无论如何我有一个我会多次打电话的功能。每次调用它时,我想用新的密钥对值更新某种关联数组(javascript中的对象)或更新现有的关联数组。

在JS中它看起来像这样......

var obj = {}
// callFunction()
obj = {"a": {"len": 1, "n": 34 }} 
// callFunction()
obj = {"a": {"len": 1, "n": 34 }, "b": {"len": 1, "n": 25 }}
// callFunction()
obj =  {"a": {"len": 2, "n": 34 }, "b": {"len": 1, "n": 25 }}

我想在scala中模仿,我正在努力以最佳或正确的方式去做。我尝试过像

这样的东西
val mutMap3 = collection.mutable.Map.empty[String, collection.mutable.Map.empty[String, Int]]

1 个答案:

答案 0 :(得分:3)

val mutMap3 = collection.mutable.Map.empty[String, collection.mutable.Map[String, Int]]

或者,更好:

import collection.mutable.{ Map => MMap }
val mutMap3 = MMap.empty[String, MMap[String, Int]]

它抱怨因为你在类型中有“空”,但empty是一种方法,而不是一种类型。你想要的是,这是一个空的地图,其值必须是地图。