Как сделать функциональный стиль абсолютно идентичным императивному стилю в Scala
В книге по программированию Scala я нашел этот пример. Говорят, что это пример императивного кода
def printArgs(args: Array[String]): Unit = {
var i = 0
while (i < args.length) {
println(args(i))
i += 1
}
}
Можно "перевести" в такой функциональный стиль:
def printArgs(args: Array[String]): Unit = {
for (arg <args)
println(arg)
}
Но для меня эти два кода не абсолютно идентичны, второй код полностью отсутствует в переменной "i". И поэтому, если я хочу напечатать это вместе со значением строки, я не могу сделать это во втором примере, или я могу? Как?