groovy
Ternary en Elvis Operators
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