2012-05-06 38 views
0

可能重複:
Elegant chained 'or's for tests on same variable in Ruby是否有更短的方法來執行相同的變量檢查?

我使用on Rails的3.2.2 Ruby和我想知道是否有方法來執行相同的檢查,如以下:

if (variable == 'A') or (variable == 'B') 
    ... 
end 

if (variable == 'A') or (variable == 'B') or ... or (variable == 'Z') 
    ... 
end 

請注意,我必須重複有關variable ==「部分」不止一次,每次支票一次。我不會重複這個「部分」並縮短它。 Ruby/Ruby on Rails有可能嗎?如果是這樣,我該如何做到這一點?

+2

請注意,['和'/'或'是*不*同Ruby中的'&&'/'||'](http://devblog.avdi.org/2010/08/02/using-and-and-or-in-ruby/)。 –

回答

3

這裏有一種方法:

if %w[A B C].include? variable 

,或者如果你有值的實際範圍:

if ('A'..'Z').include? variable 
相關問題