Mostrando entradas con la etiqueta Elvis operator. operadores. Mostrar todas las entradas
Mostrando entradas con la etiqueta Elvis operator. operadores. Mostrar todas las entradas

jueves, 23 de junio de 2011

GROOVY - Elvis Operator

Elvis operator (?:) es una versión corta del operador ternario de Java. Literalmente es la abreviación de "if-then-else". Este operador es muy útil para, por ejemplo, definir valores por defecto si no se han indicado antes, lo que significa que tendrán valor null o false.

Veamos un par de ejemplos.
def nombre = nombre?:"desconocido" 
def otro = nombre=="desconocido"?"a":"b"

En el primer ejemplo, si el nombre tiene algún valor, se asigna ese valor, y en caso contrario se le asigna el string "desconocido". La primera parte del operador se conoce como expresión. Si esa expresión se evalúa a false o null, entonces el valor después de : es devuelto, si no el posterior a ? es el que será devuelto. En el segundo caso, si el nombre es "desconocido", la variable otro tendrá valor "a" y si no "b".

Puede que al principio cueste un poco acostumbrarse a este operador, pero una vez que lo hagáis, os daréis cuenta de que lo podéis usar en muchos sitios para abreviar código.

Enjoy!

Twitter Delicious Facebook Digg Stumbleupon Favorites More