Cómo elegir el adecuado
Cuándo usar cada uno
Cómo elegir el adecuado es una lección gratuita de Kotlin Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Academy incluye 4 lecciones en total.
Elegir una función de ámbito
Con cinco funciones de ámbito disponibles, elegir la adecuada se reduce a dos preguntas:
- ¿Cómo se hace referencia al objeto: mediante
thisoit? - ¿Qué se devuelve: el resultado de la lambda o el objeto?
La tabla de decisión
Este es el panorama completo:
letusaity devuelve el resultado de la lambda.runusathisy devuelve el resultado de la lambda.withusathis(como argumento) y devuelve el resultado de la lambda.applyusathisy devuelve el objeto.alsousaity devuelve el objeto.
Use let para la seguridad frente a null
Cuando tiene un valor anulable y quiere actuar sobre él solo si está presente, use let con una llamada segura.
fun main() {
val name: String? = "Ada"
name?.let { println("Hello $it") }
}Use run para this y un resultado
Cuando quiera acceder a miembros mediante this y calcular un resultado, use run.
fun main() {
val text = "scope"
val info = text.run { "$this has length $length" }
println(info)
}Use with para agrupar
Cuando tenga un objeto no anulable y quiera realizar varias operaciones sobre él, with resulta natural.
fun main() {
val list = listOf(1, 2, 3)
with(list) {
println(sum())
println(size)
}
}Use apply para configurar
Cuando cree un objeto y necesite establecer varias propiedades, apply mantiene el código limpio y devuelve el objeto.
data class Server(var host: String = "", var port: Int = 0)
fun main() {
val server = Server().apply {
host = "0.0.0.0"
port = 80
}
println(server)
}Use also para efectos secundarios
Cuando quiera registrar información, depurar o validar sin cambiar el objeto, la opción adecuada es also con it.
fun main() {
val nums = listOf(1, 2, 3)
.also { println("Got ${it.size} items") }
println(nums.sum())
}Combinar funciones de ámbito
En el código real es habitual encadenarlas: configurar con apply, registrar información con also y transformar con let.
data class User(var name: String = "", var score: Int = 0)
fun main() {
val label = User()
.apply { name = "Max"; score = 90 }
.also { println("Created $it") }
.let { "${it.name}: ${it.score}" }
println(label)
}Evitar el uso excesivo
Las funciones de ámbito pueden perjudicar la legibilidad si se anidan o se usan demasiado. Si una variable sencilla y un código explícito se leen con más claridad, prefiera esa opción. Use funciones de ámbito para eliminar repeticiones reales, no para intentar escribir código ingenioso.
El riesgo de anidar funciones
Anidar funciones de ámbito hace que it y this resulten ambiguos. Si tiene que anidarlas, cambie el nombre del parámetro para mantener la claridad.
fun main() {
val outer = "A"
outer.let { o ->
"B".let { i ->
println("$o then $i")
}
}
}Un modelo mental rápido
Recuerde: las funciones que devuelven el objeto (apply, also) crean cadenas; las funciones que devuelven un resultado (let, run, with) transforman valores. Elija entre it y this según cuál resulte más legible.
Comprobación rápida
¿Qué función de ámbito debería usar para configurar un objeto recién creado y recuperar ese objeto?
Repaso
Ahora dispone de un marco para decidir: elija según la referencia (this frente a it) y el valor de retorno (objeto frente a resultado). let y run transforman, with agrupa, apply configura y also añade efectos secundarios. Úselas para reducir el ruido, no para aumentarlo.
Aprende Kotlin con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 51
- Lecciones
- 203
Preguntas frecuentes
¿La lección «Cómo elegir el adecuado» es gratis?
Sí — el texto completo de «Cómo elegir el adecuado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Academy, actualiza a CoddyKit PRO. El curso de Kotlin Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Cómo elegir el adecuado»?
Cuándo usar cada uno Practicas Kotlin Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Kotlin Academy?
No se requiere experiencia previa. Kotlin Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Cómo elegir el adecuado»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Kotlin Academy?
Sí. Cada lección de Kotlin Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- let y run
- apply y also
- with
- Cómo elegir el adecuado