Scala 为映射语法添加值
有地图Scala 为映射语法添加值,scala,map,traits,Scala,Map,Traits,有地图 val m = Map("foo" -> 1, ("bar" -> 2), ("foobar", 3)) 我可以通过以下方式添加新元素: m + ("boo" -> 3) 或 但当我这么做的时候 m + ("ggg", 2) 我明白了 error : type mismatch; found : String("ggg") required: (String, ?) m + ("ggg", 2) ^ 你能
val m = Map("foo" -> 1, ("bar" -> 2), ("foobar", 3))
我可以通过以下方式添加新元素:
m + ("boo" -> 3)
或
但当我这么做的时候
m + ("ggg", 2)
我明白了
error : type mismatch;
found : String("ggg")
required: (String, ?)
m + ("ggg", 2)
^
你能解释一下为什么会这样吗?m+(“ggg”,2)
相当于m+(“ggg”,2)
,它分别将“ggg”
和2
传递给方法+
。如果您想将它们作为元组传递,那么编写m+((“ggg”,2))
,或者m+(“ggg”->2)
,正如您已经知道的那样
error : type mismatch;
found : String("ggg")
required: (String, ?)
m + ("ggg", 2)
^