У меня есть пара циклов над вложенным объектом массива в 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, и они продолжали работать просто отлично. Четный коэффициент.