Junior — Middle
85
Как применить лямбда-выражение в контексте расширяющей функции в Kotlin?
Answer from AI
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 и применяет его к каждому элементу списка.