Ruby范围:case语句中的运算符

我想检查my_number是否在某个范围内,包括更高的值。

在IF语句中,我只使用“x> 100 && x <= 500”

但是我应该在Ruby案例(交换机)中做什么?

使用:

case my_number when my_number <= 500 puts "correct" end 

不起作用。

注意:

标准范围不包括如果my_number正好是500,并且我不想添加第二个“when”的情况,因为我必须写双内容

 case my_number # between 100 and 500 when 100..500 puts "Correct, do something" when 500 puts "Correct, do something again" end 

它应该像你说的那样工作。 以下case构造包括值500。

 case my_number # between 100 and 500 when 100..500 puts "Correct, do something" end 

所以:

 case 500 when 100..500 puts "Yep" end 

将返回Yep

或者,如果值恰好是 500,您是否要执行单独的操作?

 when -Float::INFINITY..0 

会做的伎俩:)

你可以这样做:

 (1..500).include? x 

哪个也是别名member?