2012-05-06 29 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 
相关问题