【发布时间】:2019-01-27 20:11:54
【问题描述】:
仅 Scala 有时脱糖
a += b
到
a = a + b
但并非总是如此。例如,一些可变集合定义了一个+= 方法,而它变成了
a.+=(b)
这是行为吗
- 完全取决于
a上是否有合适的+=方法? (包括这种行为还有其他例子吗?) - 与对象是 val 还是 var 无关?
相关示例
改编自Scala 中的编程,在
var s = Set("a", "b")
s += "c"
在这种情况下,第二行代码
s += "c"本质上是以下的简写:
s = s + "c"
【问题讨论】:
-
注意:“Scala”是什么/意思在 Scala 语言规范中定义。像您这样的问题总能在那里找到答案,而且它们根据定义是正确的答案。
标签: scala assignment-operator syntactic-sugar