遇到一个问题,我在一个Scala步骤definiton文件开始时指定了Private Constants,这个文件依赖于一个List Buffer元素来填充,但是当编译时我得到一个'IndexOutOfBoundsException',因为列表最初是空的,只能在稍后的for循环中填充。 例如,我有以下2个常量:访问依赖列表缓冲区填充的常量Scala
private val ConstantVal1= globalExampleList(2)
private val ConstantVal2= globalExampleList(3)
globalExampleList填充了这个文件里使用for循环:
for (i <- 1 to numberOfW) {
globalExampleList += x.xy }
根据需要一个全球性的可变此列表缓冲区增加了许多价值ListBuffer。
是否有更好的方法来声明这些常量?我试图在for循环之后声明它们,但其他方法无法访问它们。我在同一个文件中有大约4种不同的方法,它们使用这些值,而不是通过索引访问它,每次我认为最好将它们声明为常量,以便在需要更改时保持整洁和高效。
感谢
谢谢:)有没有更好的方式没有突变和副作用,但仍然达到相同的结果。我仍然在学习在Scala中编写代码的最佳方式,所以任何信息都可以从中学习 – user610