scala - 如何在 Scala 中更新数组?

标签 scala

有时我仍然对 scala 偶尔的语法魔术感到困惑。

我想,那写
array(5)
只是一个捷径
array.apply(5) 。 (如 Array 的文档中所写。)

然而,我可以做得很开心
array(5) = 3
但我做不到
array.apply(5) = 3

到底是怎么回事?

最佳答案

= 左侧有不同的规则:a.x = b 被翻译成 a.x_=(b)(前提是还有一个 x() 方法)a(i1,... in) = b 转化为 a.update(i1...,in, b)
所以 array(5) = 3array.update(5,3)
当然,对于数组,它直接编译为数组写入,中间没有方法调用。

关于scala - 如何在 Scala 中更新数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597237/

相关文章:

scala - 文件合并逻辑 : scala

scala - 尝试理解 Scala 中的 ClassTag 和 TypeTag

scala - 如何正确定义 f 绑定(bind)多态类型的存在性

java - Scala-Java 互操作,方法重载问题(数组和可变参数)

scala - 无法复制具有重复参数的案例类

Scala 类型投影

基本类型的 Scala 上限类型

scala - 在 akka Receive 中保存类型信息

scala - 你如何编写一个惯用的 Scala Quicksort 函数?

scala - 具有多重约束的协方差类型参数