Ruby相当于Groovy的Elvis(?:)运算符?

时间:2011-10-19 02:50:34

标签: ruby groovy

我知道我可以没有它,但这个问题一直困扰着我。

是否有一个相当于Groovy的Elvis operator?:)的Ruby成语?

基本上,我希望能够缩短这个

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

或等效

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

进入类似的事情

PARAM = ARGV[0] ?: 'default'

3 个答案:

答案 0 :(得分:47)

没关系:-)我在找到操作员的名字后自己找到了答案。

来自here

PARAM = ARGV[0] || 'default'

(必须是因为我现在正在处理4种语言,所以我忘了我可以做到这一点。)

答案 1 :(得分:4)

PARAM = ARGV[0] ? ARGV[0] : 'default'PARAM = (ARGV[0] || 'default')不相同吗?

答案 2 :(得分:3)

自Ruby 2.3起可能。

dog&.owner&.phone