我的一位同事向我展示了一个有趣的片段,其中在对象中声明的 var 没有被对象的成员改变。如果有人解释为什么它会这样,那就太好了。代码如下:
object SomeObject{
var count = 1
def addToCount = count + 1
def printCurrentCount:Unit = {addToCount;println(count)}
}
// Exiting paste mode, now interpreting.
defined module SomeObject
scala> SomeObject.printCurrentCount
1
不应该printCurrentCount
将变异的 var 计数打印为 2?