2010-08-17 94 views
36

我不知道我是否只是在寻找错误的东西或什么,但有没有一种简单的方法来评估范围,并检查整数是否在该范围内使用(2..100)语法。检查一个整数是否在一个范围内

例如,假设我想,如果我的整数x = 100,而我的范围是(0..200)评估为真,我只是在寻找简单,简洁,这样做的红宝石路。

+0

oops,我的意思是0..200 – 2010-08-17 18:09:50

回答

77

有在Ruby中做同样的事情的许多方面。您可以检查是否值的范围是通过使用以下方法,

14.between?(10,20) # true

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

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

不过,我会建议使用between?而非member?include?

所有数字文字都表示包含范围。 你可以在Ruby in Rails找到更多关于它的信息。

+0

也包含在[Ruby community style guide](https://github.com/bbatsov/ruby-style-guide/commit/1b8c788c836f00507056eba21d4b9ca8078eec3e)中。 – Dennis 2014-02-21 18:37:54

11

可以使用范围的member?方法来测试这个

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

注意2..0是空的范围,所以(2..0).include?(x)将返回falsex所有值。

13

可以使用=== operator

(1..10) === 1 #=> true 
(1..10) === 100 #=> false 
相关问题