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.