我在scala的嵌套数组对象上有一对循环
def populateBoard(data:Array[Array[Char]]) {
Board.resize(data(0).length, data.length)
for(y <- 0 to data.length-1) {
val row = data(y)
for(x <- 0 to row.length-1) {
Board.putObjectAt(x,y,GamePieceFactory.createInstance(row(x),x,y))
}
}
}
它在单元测试中工作得很好,但是当我运行应用程序时,会得到以下异常:
java.lang.NoSuchMethodError: scala.runtime.RichInt.to(I)Lscala/Range;
at net.ceilingfish.pacman.App$.populateBoard(App.scala:37)
第37行是该行
for(y <- 0 to data.length-1)
. 非常奇怪。单元测试运行scala 2.6.1,命令行为2.7.7。这两个版本之间是否有一些向后不兼容的更改?
更新后,我将单元测试切换到2.7.7版本,然后它们继续正常工作。甚至更奇怪。