Lambdas en Kotlin
Valores de función entre llaves, con it en lugar del parámetro único.
fun main() {
// A lambda is a value; its last expression is the result.
val toMiles = { km: Double -> km * 0.621 }
println(toMiles(21.0))
// A sole lambda argument moves outside the parentheses, and a
// single parameter goes by the name it.
val legs = listOf(8.4, 11.2, 6.9)
println("Longest leg: ${legs.maxByOrNull { it }} km")
legs.forEachIndexed { day, km ->
println("Day ${day + 1}: $km km")
}
}
Cómo funciona
{ km: Double -> km * 0.621 }es un valor que se asigna como cualquier otro.- Una lambda como único argumento sale de los paréntesis:
maxByOrNull { it }. forEachIndexedle pasa a la lambda dos parámetros con nombre a la vez.
Palabras clave y builtins usados aquí
Doublefunitval
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 401
- Tokens
- 82
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 70 segundos.
Paso 2 de 3 en Funciones; paso 8 de 27 en Fundamentos del lenguaje.