Sobes.tech
Junior — Middle

Jak aplikovat lambda výraz v kontextu rozšiřující funkce v Kotlinu?

sobes.tech AI

Odpověď od AI

V Kotlinu se výrazy lambda často používají spolu s rozšiřujícími funkcemi ke zvýšení čitelnosti a pohodlí kódu. Rozšiřující funkce umožňuje přidat novou metodu ke stávající třídě bez dědičnosti.

Příklad použití lambda ve rozšiřující funkci:

// Rozšiřující funkce pro List<Int>, která aplikuje lambda na každý prvek a vrací součet
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 } // každý prvek vynásobit 2 a sečíst
    println(result) // Vytiskne 20
}

Zde je sumByLambda rozšiřující funkcí pro List<Int>, která přijímá lambda výraz transform a aplikuje jej na každý prvek seznamu.