Sobes.tech
Junior — Middle

Cum se aplică o expresie lambda în contextul unei funcții de extensie în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, expresiile lambda sunt adesea utilizate împreună cu funcțiile de extensie pentru a îmbunătăți lizibilitatea și confortul codului. O funcție de extensie permite adăugarea unei noi metode unei clase existente fără moștenire.

Exemplu de utilizare a unei lambda într-o funcție de extensie:

// Funcție de extensie pentru List<Int>, care aplică o lambda fiecărui element și returnează suma
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 } // înmulțește fiecare element cu 2 și adună
    println(result) // Afișează 20
}

Aici, sumByLambda este o funcție de extensie pentru List<Int>, care acceptă o expresie lambda transform și o aplică fiecărui element al listei.