Sobes.tech
Junior — Middle

Kaip taikyti lambda išraišką plėtros funkcijos kontekste Kotlin?

sobes.tech AI

Atsakymas iš AI

Kotlin'e lambda išraiškos dažnai naudojamos kartu su išplėtimo funkcijomis, siekiant pagerinti kodo skaitomumą ir patogumą. Išplėtimo funkcija leidžia pridėti naują metodą prie esamos klasės be paveldėjimo.

Pavyzdys, kaip naudoti lambda išraišką išplėtimo funkcijoje:

// Išplėtimo funkcija `List<Int>`, kuri taiko lambda kiekvienam elementui ir grąžina sumą
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 } // kiekvieną elementą padaugina iš 2 ir sudeda
    println(result) // išves 20
}

Čia, sumByLambda yra išplėtimo funkcija List<Int>, kuri priima lambda išraišką transform ir taiko ją kiekvienam sąrašo elementui.