Sobes.tech
Junior — Middle
84

Как применить лямбда-выражение в контексте расширяющей функции в Kotlin?

Ответ от нейросети

sobes.tech AI

В Kotlin лямбда-выражения часто используются вместе с расширяющими функциями для повышения читаемости и удобства кода. Расширяющая функция позволяет добавить новый метод к существующему классу без наследования.

Пример использования лямбды в расширяющей функции:

// Расширяющая функция для List<Int>, которая применяет лямбду к каждому элементу и возвращает сумму
fun List<Int>.sumByLambda(transform: (Int) -> Int): Int {
    var sum = 0
    for (item in this) {
        sum += transform(item)
    }
    return sum
}

fun main() {
    val numbers = listOf(1, 2, 3, 4)
    val result = numbers.sumByLambda { it * 2 } // умножаем каждый элемент на 2 и суммируем
    println(result) // Выведет 20
}

Здесь sumByLambda — расширяющая функция для List<Int>, которая принимает лямбда-выражение transform и применяет его к каждому элементу списка.