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.
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.
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:
- Modisms – Calling multiple methods on an object instance (with) – Kotlinlang
- Kotlin Standard Functions cheat-sheet – Jose Alcérreca
- Function references in Kotlin – Antonio Leiva