检查整数是否在范围内

68

使用 (2..100) 语法,是否有一种简单的方法来评估整数是否在该范围内?

例如,假设我希望在整数 x = 100,并且我的范围是 (0..200),我只想找到简单、简洁的 Ruby 方法来实现这个功能。

5个回答

157

在 Ruby 中,有很多种做同一件事情的方法。你可以使用以下方法检查值是否在范围内:

14.between?(10,20) # true

(10..20).member?(14) # true

(10..20).include?(14) # true

但我建议使用 between? 而不是 member? 或者 include?

所有数字字面量都表示包含范围。你可以在 Ruby in Rails 找到更多相关信息。


还包括在Ruby社区风格指南中。 - Dennis

22
你可以使用=== 运算符
(1..10) === 1 #=> true
(1..10) === 100 #=> false

8
请注意,当使用此解决方案时,您需要注意条件的书写顺序。例如,1 === (1..10) 将会产生错误的结果。 - Kovo

12

你可以使用range的member?方法来测试这个。

 (1..10).member?(1)   => true
 (1..10).member?(100) => false 

9
(2..100).include?(5) #=> true
(2..100).include?(200) #=> false

请注意,2..0是一个空范围,因此对于所有值的x(2..0).include?(x)都将返回false

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接