Sobes.tech
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 и го прилага към всеки елемент на списъка.