1

这是用 Scala 编写的代码:

for (i <- 0 until 10) {
  if (i > 0) {
    val new = theta(i * 5)
  }
  // using variable new

  val theta = DenseVector.zeros[Int]((i + 1) * 10)
  // doing operations on theta
}

每次迭代都有自己的变量,并且变量的顺序不能改变,因为它们之间会进行一些操作。

当我运行此代码时,它显示此错误:

Wrong forward reference

我该如何解决这个问题?

4

1 回答 1

1

通过 make方法替换表达式theta之前。iftheta

def theta(i: Int) = DenseVector.zeros[Int]((i + 1) * 10)
for (i <- 0 until 10) {
  if (i > 0) {
    val new = theta(i * 5)
  }
  // doing operations on theta
}
于 2015-07-25T13:30:24.577 回答