Рубиновый эквивалент оператора Elvis Groovy (? :)? - PullRequest
30 голосов
/ 19 октября 2011

Я знаю, что могу жить без него, но вопрос меня беспокоит.

Есть ли идиома Ruby, эквивалентная оператору Элвиса Groovy (?:)?

По сути, я хочу иметь возможность сократить это

PARAM = ARGV[0] ? ARGV[0] : 'default'

Или эквивалентно

PARAM = 'default' unless PARAM = ARGV[0]

На что-то подобное

PARAM = ARGV[0] ?: 'default'

Ответы [ 2 ]

48 голосов
/ 19 октября 2011

Не берите в голову :-) Я только что нашел ответ сам, узнав имя оператора.

С здесь :

PARAM = ARGV[0] || 'default'

(Должнопотому что я сейчас жонглирую четырьмя языками, поэтому я забыл, что могу сделать это в первую очередь.)

4 голосов
/ 19 октября 2011

Разве PARAM = ARGV[0] ? ARGV[0] : 'default' не совпадает с PARAM = (ARGV[0] || 'default')?

...