Zoeken…


Opmerkingen

De Elvis-operator evalueert op basis van Groovy-Truth van het conditie-gedeelte.

Standaardformulier versus Elvis-formulier

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

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

Merk op dat het "elvis" -formaat de term "true" weglaat omdat de oorspronkelijke vergelijkingswaarde in het geval van "true" moet worden gebruikt. Als name Groovy true , wordt deze geretourneerd als de waarde van de uitdrukking.

Gebruik (met voorwaarde) in opdracht

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

Hier is de if-conditie ( (parentheses) iets complexer dan alleen het testen op bestaan / Groovy-Truth.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow