gpt4 book ai didi

arrays - Scala 在方法中初始化类级数组变量

转载 作者:行者123 更新时间:2023-12-02 09:17:36 25 4
gpt4 key购买 nike


class Foo() {
val array // how do I leave initialization till later?
def initializeArray(size : Int) = array = Array.ofDim[Int](size)
}

上面的代码无法编译,那么稍后如何初始化我的数组?

编辑

假设我需要读取一个具有整数矩阵的文件,并且我想将该矩阵表示为二维数组。当然,我正在解析 Foo 类中的文件,并且在解析完成之前不会知道矩阵的维度。

最佳答案

您可以使用惰性值,例如

scala> class Foo {
| lazy val array = initialize
| def initialize = {
| println("initializing...")
| new Array[Int](5)
| }
| }
defined class Foo

scala> val f = new Foo
f: Foo = Foo@135810c

scala> f.array
initializing...
res46: Array[Int] = Array(0, 0, 0, 0, 0)

现在您已经推迟了数组的初始化。

关于arrays - Scala 在方法中初始化类级数组变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10150444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com