Существует функция стандартной библиотеки Kotlin repeat()
, которая позволяет выполнять заданную функцию определенное количество раз и получать индекс текущего повторения. Например:
repeat(3) {
println(it)
}
Есть ли функция, которая будет делать то же самое в обратном порядке? В каком смысле индексы снижаются?
1 ответ
Нет, версии stdlib repeat()
функция обратного отсчета.
Вероятно, это потому, что так легко использовать другие структуры, такие как forEach()
. (И если вы достаточно заботитесь о переданном значении, чтобы желать определенного порядка, то это, вероятно, было бы хорошей идеей, поскольку оно сделало бы его явным.)
Но если вы действительно не хотите использовать это напрямую, очень легко написать свое собственное:
inline fun repeatReverse(times: Int, action: (Int) -> Unit)
= (times downTo 1).forEach(action)
Похожие вопросы
Новые вопросы
kotlin
Kotlin - это статически типизированный язык программирования с открытым исходным кодом, поддерживаемый и разработанный JetBrains. Kotlin сочетает в себе ООП и функциональные возможности и ориентирован на совместимость, безопасность, ясность и поддержку инструментов. В настоящее время он нацелен на JVM и JavaScript, и это официально поддерживаемый язык на Android.