groovy
Operatori di Ternary ed Elvis
Ricerca…
Osservazioni
L'operatore Elvis valuta in base a Groovy-Truth della condizione-parte.
Modulo standard vs modulo Elvis
// long form
String sayHello(String name){
"Hello, ${name ? name : 'stranger'}."
}
// elvis
String sayHello(String name){
"Hello, ${name ?: 'stranger'}."
}
Si noti che il formato "elvis" omette il termine "true" perché il valore di confronto originale deve essere utilizzato nel caso "true". Se il name
è Groovy true
, verrà restituito come valore dell'espressione.
Utilizzo (con condizioni) in cessione
def results = []
(1..4).each{
def what = (it%2) ? 'odd' : 'even'
results << what
}
assert results == ['odd', 'even', 'odd', 'even']
Qui, la condizione if (in (parentheses)
) è leggermente più complessa del test per esistenza / Groovy-Truth.
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow