なぜscala.collection.immutable.SortedMap
とscala.collection.immutable.TreeMap
を突然変異させることができますか?またなぜimmutable.SortedMapとimmutable.TreeMapを変更することが可能ですか?
scala> import scala.collection.immutable.SortedMap
import scala.collection.immutable.SortedMap
scala> var sm = SortedMap(3 -> 'x', 1 -> 'x', 4 -> 'x')
sm: scala.collection.immutable.SortedMap[Int,Char] = Map(1 -> x, 3 -> x, 4 -> x)
scala> sm += (2 -> 'x')
scala> sm
res1: scala.collection.immutable.SortedMap[Int,Char] = Map(1 -> x, 2 -> x, 3 -> x, 4 -> x)
、私は
http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.SortedMap
と
http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.TreeMap
+=
の定義に表示されていないので、どのようにそれは存在しませんか?
あなたはこのScalaの動作によって混乱した唯一の人ではありません - http://bruceeckel.github.io/2014/12/30/operator-underloading-in-scala/ –