groovy
Operadores Ternario y Elvis
Buscar..
Observaciones
El operador de Elvis evalúa en función de Groovy-Truth de la parte de condición.
Forma estándar vs forma de Elvis
// long form
String sayHello(String name){
"Hello, ${name ? name : 'stranger'}."
}
// elvis
String sayHello(String name){
"Hello, ${name ?: 'stranger'}."
}
Observe que el formato "elvis" omite el término "verdadero" porque el valor de comparación original se usará en el caso "verdadero". Si el name
es Groovy true
, se devolverá como el valor de la expresión.
Uso (con condición) en la asignación
def results = []
(1..4).each{
def what = (it%2) ? 'odd' : 'even'
results << what
}
assert results == ['odd', 'even', 'odd', 'even']
Aquí, la condición if (en (parentheses)
) es un poco más compleja que solo probar la existencia / Groovy-Truth.
Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow