Funciones de alcance en Kotlin
apply, let y also: bloques chicos que mantienen la configuración cerca.
class PackList {
val items = mutableListOf<String>()
var owner = ""
}
fun main() {
// apply configures the receiver and hands it back.
val pack = PackList().apply {
owner = "Rae"
items += listOf("stove", "map", "rope")
}
// let works on a value; also peeks without breaking the chain.
val summary = pack.items.let { "${it.size} items for ${pack.owner}" }
println(summary)
pack.items.also { println("Last packed: ${it.last()}") }
}
Cómo funciona
applycorre un bloque sobre el receptor y devuelve el receptor — montaje en el lugar.letpasa un valor por un bloque y devuelve el resultado del bloque.alsoespía un valor por su efecto y lo deja seguir.
Palabras clave y builtins usados aquí
Stringclassfunitvalvar
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 431
- Tokens
- 105
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 97 segundos.
Paso 1 de 3 en Idiomas del lenguaje; paso 19 de 27 en Fundamentos del lenguaje.