Как указано другими, правильный ответ:
for (n in 100 downTo 1) {
println(n)
}
Но почему команда Котлина выбрала 100 downTo 1
vs 100..1
?
Я думаю, что синтаксис 100..1
было бы плохо, если мы попытаемся использовать переменные вместо литералов. Если мы набрали
for (n in b..a)
, тогда было бы непонятно, какой цикл мы хотели использовать.
Мы могли рассчитывать на обратный отсчет, но если b
окажется меньше a
, то наша программа будет на самом деле рассчитывать вверх! Это было бы источником ошибок.