2014-10-06 105 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)