Junior
¿Qué es un bloque 'run' en Kotlin y cómo se usa?
sobes.tech AI
Respuesta de la IA
El bloque run en Kotlin es una función de ámbito incorporada en la biblioteca estándar de Kotlin. Se utiliza para:
- Ejecutar un bloque de código en un objeto: Se llama en un objeto y ejecuta una expresión lambda proporcionada como argumento. Dentro de la lambda, el objeto está disponible como
this. - Devolver un resultado: Devuelve el resultado de la última expresión en la lambda.
- Objetos nullable: Es útil para trabajar con objetos nullable, ya que al usar el operador de llamada segura
?., el bloquerunsolo se ejecutará si el objeto no es null.
Características principales:
- Receptor (
this): El objeto en el que se llama arunestá disponible dentro de la lambda comothis. - Valor de retorno: El resultado de la última expresión en la lambda.
Ejemplos de uso:
// Ejemplo 1: ejecutar código en un objeto y devolver un resultado
val length: Int = "some string".run {
// 'this' aquí se refiere a "some string"
println("Longitud de la cadena: ${this.length}")
length // Devuelve la longitud de la cadena
}
// Ejemplo 2: trabajar con un objeto nullable
val nullableString: String? = "another string"
val upperCaseString: String? = nullableString?.run {
// El bloque solo se ejecutará si nullableString no es null
toUpperCase() // Devuelve la cadena en mayúsculas
}
val anotherNullableString: String? = null
val anotherUpperCaseString: String? = anotherNullableString?.run {
// El bloque no se ejecutará, run?. devolverá null
toUpperCase()
}
// Ejemplo 3: crear y configurar un objeto
val person = run {
val name = "Alice"
val age = 30
Person(name, age) // Se asume que existe la clase Person
}