Sobes.tech
Назад к задачам
Junior — Senior
27

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

Компании, где спрашивали:

КИТ МЕД
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо переработать приведённый ниже 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) }
}