Sobes.tech
Junior — Middle

Kako primeniti lambda izraz u kontekstu funkcije proširenja u Kotlinu?

sobes.tech АИ

Одговор од АИ

U Kotlinu, lambda izrazi se često koriste zajedno sa funkcijama proširenja radi poboljšanja čitljivosti i udobnosti koda. Funkcija proširenja omogućava dodavanje nove metode postojećoj klasi bez nasleđivanja.

Primer korišćenja lambda izraza u funkciji proširenja:

// Funkcija proširenja za List<Int>, koja primenjuje lambda na svaki element i vraća zbir
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 } // pomnoži svaki element sa 2 i saberi
    println(result) // Ispisaće 20
}

Ovde je sumByLambda funkcija proširenja za List<Int>, koja prihvata lambda izraz transform i primenjuje ga na svaki element liste.