Sobes.tech
Back to tasks
Junior — Senior
26

Рефакторинг Kotlin‑кода: исправление ошибок и улучшение стиля

Companies where asked:

КИТ МЕД
Get help with live coding in real time with Sobes Copilot
Task condition

Необходимо переработать приведённый ниже Kotlin‑фрагмент, устранив компиляционные проблемы и сделав логику более понятной. Требуется заменить неизменяемый список на изменяемый, корректно добавить новый элемент, реализовать обход элементов в обратном порядке без лишних синхронизаций и обеспечить правильный вывод.

val numbers = mutableListOf(1, 3, 5)

fun main() {
    numbers.add(7)
    numbers.forEachReversed { value ->
        if (value == 3) return@forEachReversed
        println(value)
    }
    println("Done!")
}

fun <T> List<T>.forEachReversed(action: (T) -> Unit) {
    this.asReversed().forEach { action(it) }
}