Categories: Funciones Estándar

With

Share

Y el último que queda por ver es with qué en inglés significa “con”. Por lo que deducimos que este modismo será para hacer ciertas cosas con algo.

Tabla de modismos de Kotlin

Como podemos ver en la tabla, with no es una función de extensión y por su significado el uso principal que le vamos a dar es que quede claro que vamos a hacer algo con cierto objeto.

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

fun main() {
//sampleStart
    val circle = Circle(2, "red")
    with(circle) {
        println(radius)
        println(color)
    }
//sampleEnd
}

Como podemos ver en el ejemplo anterior es muy fácil de leer que estamos creando un círculo con las propiedades 2 y rojo, y luego con dicho objeto vamos a mostrar sus propiedades radio y color. Al igual que con apply o run, no hace falta utilizar it.radius ya que tenemos el propio objeto en el bloque.

Aunque alguien no entienda Kotlin pero tenga nociones básicas de programación orientada a objetos entendería fácilmente que está pasando y que es lo que hace with en ese bloque de arriba.

En la siguiente entrada vamos a ver un pequeño resumen de cuando usar cada cual ya que a veces la línea que separa entre usar uno y otro es muy delgada. En esos casos te recomiendo siempre que trates de buscar que es más fácil de leer para alguien que no haya escrito tu código.


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

Run

Con run a diferencia de apply no se devuelve el objeto si no que devuelve…

5 años ago