为映射语法添加值

时间:2014-10-06 21:02:30

标签: scala map traits

有地图

val m = Map("foo" -> 1, ("bar" -> 2), ("foobar", 3))

我可以通过

添加新元素
m + ("boo" -> 3)

val a = ("fff", 2); m + a

但是当我做的时候

m + ("ggg", 2)

我得到了

error   : type mismatch;
found   : String("ggg")
required: (String, ?)
          m + ("ggg", 2)
               ^

请你澄清为什么会这样?

1 个答案:

答案 0 :(得分:3)

m + ("ggg", 2)相当于m.+("ggg", 2),它将"ggg"2分别传递给方法+。如果您想将它们作为元组传递,请按照您已经知道的内容编写m + (("ggg", 2))m + ("ggg" -> 2)