用于“if(范围内的数字)然后......”的Ruby快捷方式

时间:2011-05-25 21:15:40

标签: ruby-on-rails ruby

以下是否有Ruby快捷方式?

if (x > 2) and (x < 10)
  do_something_here
end

我以为我看到了那种效果,但无法找到它的参考。当然,当你不知道你正在寻找什么算子时,很难查找。

4 个答案:

答案 0 :(得分:17)

if (3..9).include? x
  # whatever
end

作为旁注,您还可以使用三等于运算符作为范围:

if (3..9) === x
  # whatever
end

这使您可以在case语句中使用它们:

case x
  when 3..9
    # Do something
  when 10..17
    # Do something else
end

答案 1 :(得分:7)

do_something if (3..9).include?( x )   # inclusive
do_something if (3...10).include?( x ) # inclusive start, exclusive end

参见Range课程;你可以阅读他们的介绍hosted on my website

答案 2 :(得分:5)

Comparable#between?

do_something if x.between?(2, 10)

答案 3 :(得分:0)

这样的东西?

do_something if (3..9) === x

r = 3..9
if r === x
  . . .