2011-10-19 17 views
28

Onsuz yaşayabileceğimi biliyorum, ama soru beni rahatsız ediyor.Groovy'nin Elvis (? :) operatörünün Ruby karşılığı mı?

Groovy'nin Elvis operator (?:) ürününe eşdeğer bir Ruby deyim var mı?

Esasen, ben kısaltmak için mümkün istiyorum bu

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

Ya da bu

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

olası yinelenen [What does || = Ruby'de ortalama nedir?] (Http://stackoverflow.com/questions/995593/what-does-mean-in-ruby) –

+5

@AndrewGrimm Yalnızca cevabı zaten biliyorsanız : p – Igor

cevap

42

gibi bir şey içine eşit şekilde

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

Sadece buldum :-) asla akla Operatörün ismini öğrendikten sonra kendime cevap ver. here itibaren

:

PARAM = ARGV[0] || 'default' 

+3

Alternatif olarak, eğer '@params = @ params || 5 'kısaltmak için '@params || = 5' –

+3

@RyanBigg: Daha akıcı olmak gerekirse, daha çok' @params || @params = 5'. http://stackoverflow.com/questions/995593/what-does-mean-in-ruby/2505285#2505285 –

3

PARAM = ARGV[0] ? ARGV[0] : 'default' aynı değil midir (Ben şu anda bu yüzden ilk etapta bunu yapabilir unuttum 4 dil hokkabazlık yapıyorum çünkü olmalı.) PARAM = (ARGV[0] || 'default') olarak mı?

İlgili konular