typestar

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

  1. { km: Double -> km * 0.621 } es un valor que se asigna como cualquier otro.
  2. Una lambda como único argumento sale de los paréntesis: maxByOrNull { it }.
  3. forEachIndexed le pasa a la lambda dos parámetros con nombre a la vez.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 3 en Funciones; paso 8 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →

Lambdas en otros lenguajes