gpt4 book ai didi

function - Scala Map,元组和函数参数列表之间的歧义

转载 作者:行者123 更新时间:2023-12-02 22:03:19 24 4
gpt4 key购买 nike

val m = scala.collection.mutable.Map[String, Int]()
// this doesn't work
m += ("foo", 2)
// this does work
m += (("foo", 2))
// this works too
val barpair = ("bar", 3)
m += barpair

那么 m += ("foo", 2) 不起作用是怎么回事? Scala 给出类型错误:

 error: type mismatch;
found : java.lang.String("foo")
required: (String, Int)
m += ("foo", 2)
^

显然 Scala 认为我正在尝试使用两个参数而不是一个元组参数来调用 += 。为什么?因为我没有使用 m.+= ,所以这不是很明确吗?

最佳答案

不幸的是,a b (c, d, e, ..) 脱糖为 a.b(c, d, e, ..)。因此出现错误。

关于function - Scala Map,元组和函数参数列表之间的歧义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7744259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com