Поскольку в Scala нет старого стиля Java для
циклов с индексом,
// does not work
val xs = Array("first", "second", "third")
for (i=0; i<xs.length; i++) {
println("String #" + i + " is " + xs(i))
}
Как мы можем выполнять итерацию эффективно и без использования var
?
Вы можете сделать это
val xs = Array("first", "second", "third")
val indexed = xs zipWithIndex
for (x <- indexed) println("String #" + x._2 + " is " + x._1)
, но список просматривается дважды - не очень эффективно.