Recherche…


Remarques

L'opérateur Elvis évalue en fonction de Groovy-Truth de la partie condition.

Forme standard vs forme Elvis

// long form
String sayHello(String name){
    "Hello, ${name ? name : 'stranger'}."
}

// elvis
String sayHello(String name){
    "Hello, ${name ?: 'stranger'}."
}

Notez que le format "elvis" omet le terme "true" car la valeur de comparaison d'origine doit être utilisée dans le cas "true". Si name est Groovy true , alors il sera renvoyé comme valeur de l'expression.

Utilisation (avec condition) en affectation

def results = []
(1..4).each{
    def what = (it%2) ? 'odd' :  'even'
    results << what
}
assert results == ['odd', 'even', 'odd', 'even']

Ici, la condition if (parentheses) est légèrement plus complexe que le simple test de l'existence / Groovy-Truth.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow