Как сделать функциональный стиль абсолютно идентичным императивному стилю в 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". И поэтому, если я хочу напечатать это вместе со значением строки, я не могу сделать это во втором примере, или я могу? Как?

0 ответов

Другие вопросы по тегам