这两个在印刷套装中的scala有什么不同

Tom*_*Tom 1 scala scala-collections

我正在学习Scala编程语言,并对此感到困惑:

var set = Set("hello", "world")

set += "Tom"
println(set)

println(set += "Tom")
Run Code Online (Sandbox Code Playgroud)

第一次打印将输出

Set(hello, world, Tom)
Run Code Online (Sandbox Code Playgroud)

但第二个将输出

()
Run Code Online (Sandbox Code Playgroud)

那么,为什么他们不同,我想println(set += "Tom")先做,set += "Tom"然后打印出结果呢?不是吗?

ped*_*rla 5

在scala a += bdessugars中a = a + b.赋值表达式的类型是Unit.因此,与C或Java不同,赋值表达式的结果不会导致左侧但是单位值.