groovy
Ternary och Elvis Operators
Sök…
Anmärkningar
Elvis-operatören utvärderar baserat på Groovy-Sannhet om tillståndsdelen.
Standardform vs Elvis-form
// long form
String sayHello(String name){
"Hello, ${name ? name : 'stranger'}."
}
// elvis
String sayHello(String name){
"Hello, ${name ?: 'stranger'}."
}
Lägg märke till att formatet "elvis" utelämnar det "sanna" uttrycket eftersom det ursprungliga jämförelsevärdet ska användas i det "sanna" fallet. Om name
är Groovy true
kommer det att returneras som värdet på uttrycket.
Användning (med villkor) vid uppdrag
def results = []
(1..4).each{
def what = (it%2) ? 'odd' : 'even'
results << what
}
assert results == ['odd', 'even', 'odd', 'even']
Här är if-villkoret (i (parentheses)
) något mer komplex än bara testa för existens / Groovy-Sannhet.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow