Sobes.tech
Junior — Middle

¿Cómo aplicar una expresión lambda en el contexto de una función de extensión en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin, las expresiones lambda se usan a menudo junto con funciones de extensión para mejorar la legibilidad y la comodidad del código. Una función de extensión permite agregar un nuevo método a una clase existente sin heredar.

Ejemplo de uso de una lambda en una función de extensión:

// Función de extensión para List<Int>, que aplica una lambda a cada elemento y devuelve la 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 } // multiplicamos cada elemento por 2 y sumamos
    println(result) // Imprime 20
}

Aquí, sumByLambda es una función de extensión para List<Int>, que acepta una expresión lambda transform y la aplica a cada elemento de la lista.