Junior — Middle
Как да приложим лямбда израз в контекста на разширяваща функция в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin често се използват изрази lambda заедно с функции за разширение за подобряване на четливостта и удобството на кода. Функцията за разширение позволява да добавите нов метод към съществуващ клас без наследяване.
Пример за използване на lambda в функция за разширение:
// Функция за разширение за List<Int>, която прилага lambda към всеки елемент и връща сумата
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>, която приема lambda израз transform и го прилага към всеки елемент на списъка.