我知道我可以沒有它,但問題一直困擾着我。Ruby等價於Groovy的Elvis(?:)運算符?
是否存在一個與Groovy的Elvis operator(?:
)等效的Ruby成語?
從本質上講,我希望能夠縮短這個
PARAM = ARGV[0] ? ARGV[0] : 'default'
或等價
PARAM = 'default' unless PARAM = ARGV[0]
弄成這個樣子
PARAM = ARGV[0] ?: 'default'
我知道我可以沒有它,但問題一直困擾着我。Ruby等價於Groovy的Elvis(?:)運算符?
是否存在一個與Groovy的Elvis operator(?:
)等效的Ruby成語?
從本質上講,我希望能夠縮短這個
PARAM = ARGV[0] ? ARGV[0] : 'default'
或等價
PARAM = 'default' unless PARAM = ARGV[0]
弄成這個樣子
PARAM = ARGV[0] ?: 'default'
另外,如果你正在做類似'@params = @params || 5'你可以將它縮短爲'@params || = 5' –
@RyanBigg:迂腐,它更像'@params || @params = 5'。 http://stackoverflow.com/questions/995593/what-does-mean-in-ruby/2505285#2505285 –
是不是PARAM = ARGV[0] ? ARGV[0] : 'default'
相同作爲PARAM = (ARGV[0] || 'default')
?
可能的重複[在Ruby中是什麼意思?](http://stackoverflow.com/questions/995593/what-does-mean-in-ruby) –
@AndrewGrimm只有當你已經知道答案:p – Igor