Tutorial在初始中提到了可变集,但是当添加新元素时,为什么 REPL 会将实例名称从 res4
更改为 res5
呢? 'res' 不是 REPL 打印的实例名称吗?下面是上下文中的代码。 scala 初学者。如果问题很琐碎,请耐心等待。
scala> val set = scala.collection.mutable.Set[Int]()
val set: scala.collection.mutable.Set[Int] = Set()
scala> set += 1
val res0: scala.collection.mutable.Set[Int] = Set(1)
scala> set += 2 += 3
val res1: scala.collection.mutable.Set[Int] = Set(1, 2, 3)
最佳答案
尽管引用没有改变,它意味着res0 == res1
。 Scala repl 将为未分配任何名称的表达式生成名称,无论它是否可变。
另外看看docs 。对于 mutable.Set
,方法 +=
结果为 Set.this.type
。由于有一个返回值,因此必须为其分配一些名称。
关于scala - scala REPL 打印的是实例名称/id 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61181797/