Categories: Funciones Estándar

Apply

Share

En la tabla de modismos vemos que apply recibe un objeto (es decir, no tenemos que usar it) y devuelve un objeto, por lo que es ideal para aplicar cambios fácilmente al objeto original.

Tabla de modismos de Kotlin

Vamos entonces a hacer un resumen de lo que sabemos basándonos en el significado del propio modismo:

  • let vendría a ser “permíteme…” Por eso lo usaremos generalmente para nulos.
  • also significa “además”. Por eso lo utilizaremos para efectos secundarios
  • apply es “aplicar”. Eso sumado a que devuelve un objeto parece lógico que su uso sea modificar las propiedades de un objeto.

Por ejemplo, tenemos la siguiente data class de un círculo con las propiedades radio y color:

data class Circle (var radius: Int, var color: String)

Para cambiar sus propiedades podríamos hacer esto:

data class Circle (var radius: Int, var color: String)

fun main() {
//sampleStart
    val circle = Circle(2, "red").also(::println)

    circle.radius = 3
    circle.color = "blue"

    println(circle)
//sampleEnd
}

Sin embargo vemos que tendríamos que poner dos veces circle. Vamos a ver como quedaría utilizando apply.

data class Circle (var radius: Int, var color: String)

fun main() {
//sampleStart
    val circle = Circle(2, "red").also(::println)

    circle.apply {
        radius = 3
        color = "blue"
    }.also(::println)
//sampleEnd
}

Parece que estuvieras leyendo un texto en inglés en el que indicas:

  • Creamos un circulo con 2 y rojo como propiedades y una vez hecho lo mostramos por pantalla.
  • Al circulo le aplicamos las siguientes propiedades 3 y azul, y además lo mostramos por pantalla.

Es una buena forma de sustituir al patrón Builder.


Enlaces de interés:

Recent Posts

  • Curso Interactivo

Variables

En esta lección aprenderás a declarar variables y los tipos básicos.

5 años ago
  • Curso Interactivo

Introducción al Curso Interactivo

La mejor forma de aprender algo en esta vida es a base de practicar. Espero…

5 años ago
  • Coroutines

Iniciar una Corrutina

La principal forma de iniciar una corrutina en Kotlin es con el coroutine builder launch…

5 años ago
  • Coroutines

Coroutines

Las coroutines en Kotlin vienen a tratar de solucionar todos los problemas y dificultades que…

5 años ago
  • Funciones Estándar

Resumen Elección de Modismo

Con este esquema te puedes guiar a la hora de elegir el modismo o función…

5 años ago
  • Funciones Estándar

With

El último que queda por ver es with qué en inglés significa "con". Por lo…

5 años ago