你好我是scala的新手,對於方法集合我很困惑。+(element)。 當我做這個關於scala中可變和不可變集合的困惑
var set_1: scala.collection.immutable.Set[Int] = scala.collection.immutable.Set[Int](2)
set_1.+=(1)
println(set_1)
val set_1: scala.collection.mutable.Set[Int] = scala.collection.mutable.Set[Int](2)
set_1.+=(1)
println(set_1)
我得到的結果Set(1, 2)
對他們倆的。第一個我使用「var」和「immutable」,第二個我使用「val」和「mutable」。什麼是。+()方法的機制?它重新分配變量set_1或修改set_1的值? 任何人都可以幫助我嗎?
這就是我的猜測。非常感謝你。 – Frankie
對於「有效地做」,請參閱http://www.scala-lang.org/files/archive/spec/2.11/06-expressions.html#assignment-operators它很混亂,因爲第一個示例通常表示爲中綴,但是語法不會影響desugaring。 –
感謝您的注意。我已經改寫了答案,以明確代碼只是一個類比,並且與desugaring完全不符 – justinhj