Поиск…


замечания

Оператор Элвиса оценивает на основе Groovy-Truth состояния-части.

Стандартная форма против формы Элвиса

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

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

Обратите внимание, что формат «elvis» опускает «истинный» термин, потому что исходное значение сравнения должно использоваться в «истинном» случае. Если name Groovy true , то оно будет возвращено как значение выражения.

Использование (с условием) при назначении

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

Здесь if-условие (в (parentheses) немного сложнее, чем просто тестирование на существование / Groovy-Truth.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow