https://kotlin.desarrollador-android.com/modismos-y-patrones/funciones-estandar/run/
Introducción a Kotlin
Introducción al Curso de Kotlin
Qué es la Java Virtual Machine
Qué es Kotlin
Configuración del entorno
Instalación de IntelliJ
Instalación de IntelliJ en Linux
Kotlin con Visual Studio Code
Hola mundo Kotlin
Hola mundo con Kotlin
Variables en Kotlin
Kotlin y sus tipos de variables
Modificadores y tipos de datos en Kotlin
Operaciones con los tipos de datos en Kotlin
Kotlin y la programación funcional
Estructuras de control: if
Estructuras de Control: when
Conceptos básicos de Kotlin
Bucles: While y Do While
Ciclos
Null-Safety en Kotlin
Valores nulos, Double bang y cómo solucionarlos.
Try Catch
Elvis operator
Collections en Kotlin
Listas
Como ordenar listas con las funciones que tiene Kotlin
Maps
Sets
Libera el potencial de las funciones
¿Qué son las funciones?
Funciones y funciones de extensión
Tipos de parámetros en las funciones
Lambdas
High Order functions
Scope functions
Let
With
Run
Apply
Also
Proyecto: Bola 8 mágica
Creando el menú de nuestra bola mágica
Contestando aleatoriamente
¿Cómo continuar tu camino en Kotlin?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Giuseppe Vetri
Aportes 7
Preguntas 2
Código de la clase
fun main(args: Array<String>){
val moviles = mutableListOf("Samsung A50","Samsung A51","Samsung A52")
.run{
removeIf{ movil->movil.contains("A50") }
this
}
println(moviles)
}
<fun main(args: Array<String>) {
val moviles = mutableListOf("Google Pixel 2XL", "Google Pixel 4a", "Huawei Redmi 9", "Xiaomi mi a3")
.run{
removeIf{movil -> movil.contains("Google")}
this
}
println(moviles)
}>
En Kotlin, la función run es una función de orden superior que se utiliza para realizar operaciones en un objeto y devolver un resultado. Proporciona un contexto en el que puedes acceder a las propiedades y métodos del objeto de manera concisa.
La sintaxis básica de run es la siguiente:
objeto.run {
// Realizar operaciones con el objeto
// ...
// Devolver un resultado opcionalmente
}
objeto es el objeto en el que deseas realizar las operaciones. Puede ser una variable o una expresión.
Dentro del bloque de código de run, puedes acceder a los miembros del objeto directamente, sin la necesidad de llamar al objeto en cada ocasión. Puedes utilizar los métodos y propiedades del objeto como si estuvieras dentro del ámbito de ese objeto.
Puedes realizar cualquier operación necesaria dentro del bloque de código de run. Puedes llamar a métodos, acceder a propiedades, realizar cálculos, etc.
Opcionalmente, puedes devolver un resultado al final del bloque de código utilizando la última expresión. Este resultado se asigna a la variable o se utiliza directamente en el contexto en el que se llama a run.
El valor de retorno de run es el resultado de la última expresión en el bloque de código, o bien Unit si no hay ninguna expresión.
.
Aquí tienes un ejemplo práctico para ilustrar cómo se utiliza run:
data class Persona(val nombre: String, var edad: Int)
val persona = Persona("Juan", 25)
val resultado = persona.run {
println("Nombre: $nombre")
println("Edad: $edad")
edad += 1
"¡Hola, $nombre! Tienes $edad años."
}
println(resultado)
En este ejemplo, utilizamos run para acceder a los miembros de persona (nombre y edad) dentro del bloque de código. Podemos imprimir el nombre y la edad, realizar operaciones como incrementar la edad y luego devolver un saludo personalizado con el nombre y la nueva edad. Finalmente, imprimimos el resultado en la última línea.
.
En resumen, run es una función útil en Kotlin que permite trabajar con un objeto en un contexto específico, accediendo a sus miembros de manera más concisa y devolviendo un resultado opcionalmente. Puede mejorar la legibilidad y la claridad del código al reducir la necesidad de repetir llamadas al objeto y simplificar las operaciones en él.
fun main(args: Array<String>){
val moviles = mutableListOf("Samsung A50","Samsung A51","Samsung A52")
.run{
removeIf{ movil->movil.contains("A50") }
this
}
println(moviles)
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?