Так как Scala не имеет старинного стиля Java for
с индексом,
// 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)
но список проходит дважды - не очень эффективно.