0

在 scala2 中:

val arr = Array(1, 2, 3)
arr(0) = 3

更新操作有效, arr 变为:

arr = Array(3, 2, 3)

但是在dotty中:

val arr = Array(1, 2, 3)
arr(0) = 3

我发现 arr 没有改变

arr = Array(1, 2, 3) // didn't change

在 dotty 中,当我尝试通过 for 表达式更新数组的每个元素时:

val arr = Array(1, 2, 3)
for (i <- 0 until arr.length) arr(i) = 3

神奇的是,它改变了:

arr = Array(3, 3, 3) // changed by for expression

我很困惑为什么 val 数组不能在 for 表达式中更新到位,它可以工作。

4

0 回答 0