Sobes.tech
Junior — Middle

Come applicare un'espressione lambda nel contesto di una funzione di estensione in Kotlin?

sobes.tech AI

Risposta dell'AI

In Kotlin, le espressioni lambda sono spesso utilizzate insieme alle funzioni di estensione per migliorare la leggibilità e la comodità del codice. Una funzione di estensione permette di aggiungere un nuovo metodo a una classe esistente senza ereditarietà.

Esempio di utilizzo di una lambda in una funzione di estensione:

// Funzione di estensione per List<Int>, che applica una lambda a ogni elemento e restituisce la somma
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 } // moltiplica ogni elemento per 2 e somma
    println(result) // Stampa 20
}

Qui, sumByLambda è una funzione di estensione per List<Int>, che accetta un'espressione lambda transform e la applica a ogni elemento della lista.