Периодически Scala сильно удивляет как в хорошем смысле этого слова, так и в плохом. С циклом
for(index = 0; index < ....) {...}
std::cout << index; // и тут мы получили количество итераций
Да, обломс… Единственный найденный мной рабочий вариант выглядит следующим образом, что на мой взгляд очень и очень печально:
var index = 0
while (index < strings.length) {
index += 1
}
Но, зато наткнулся на куда более приятную возможность: получение индекса в процессе обработки коллекции без дополнительных приседаний:
for ((string, index) <- strings.zipWithIndex) {
println("Index: " + index + ", string: " + string)
}