2011-10-19 15 views
28

私はそれがなくても生きることができると知っていますが、質問は私を悩ませています。GroovyのElvis(?:)演算子のRubyに相当しますか?

GroovyのElvis operator?:)と同等のRubyイディオムがありますか?私はちょうど見つけ:-)

基本的に、私はこの

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

[Rubyで|| =はどういう意味ですか?](@stackoverflow.com/questions/995593/what-does-mean-in-ruby) –

+5

@AndrewGrimm答えが分かっている場合にのみ:p – Igor

答えて

42

のようなものには、この

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

または同等に

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

を短縮することができるようにしたい気にしませんオペレータの名前を見つけた後に自分自身に答えてください。 hereから

PARAM = ARGV[0] || 'default' 

+3

また、もしあなたが '@params = @params || 5 'にすると、' @params || = 5'に短縮することができます。 –

+3

@RyanBigg:ペタンティックであるためには、 '@params || @params = 5' http://stackoverflow.com/questions/995593/what-does-mean-in-ruby/2505285#2505285 –

3

PARAM = ARGV[0] ? ARGV[0] : 'default'が同じではありません(私は今ので、私は私が最初の場所でそれを行う可能性が忘れてしまった4ヶ国語を操ってる原因」でなければなりません。) as PARAM = (ARGV[0] || 'default')

関連する問題