2014-10-06 103 views
1

有一个地图增加值映射语法

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) 
      ^

请问您能澄清为什么会发生?

回答

3

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