typestar

Cadenas de colecciones en Kotlin

filter, map y compañía se leen de izquierda a derecha y nunca mutan.

fun main() {
    val legsKm = listOf(8.4, 11.2, 6.9, 14.5, 9.1)

    // Chains read left to right; each call returns a new list.
    val hardDays = legsKm.filter { it > 9.0 }
    println("$hardDays add up to ${hardDays.sum()} km")

    val paces = legsKm.map { km -> (60 * km / 4.5).toInt() }
    println("Minutes per leg: $paces")

    println("Total: ${legsKm.sumOf { it }} km in ${legsKm.count()} days")
    println("Any rest day? ${legsKm.any { it < 7.0 }}")
}

Cómo funciona

  1. filter { it > 9.0 } se queda con los días duros; sum los pliega.
  2. map transforma cada tramo en minutos con un parámetro de lambda con nombre.
  3. sumOf, count y any responden las preguntas usuales en una llamada cada una.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
432
Tokens
121
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 104 segundos.

Escribe este fragmento

Paso 2 de 3 en Colecciones; paso 11 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →