使用Ruby中的范围,您可以执行0..5
以包含0和5之间的所有数字(包括0和5)。您还可以执行0...5
以包含除5之外的相同数字。如何:不包含第一个值的Ruby范围
(1..5) === 5
=> true
(1...5) === 5
=> false
(1...5) === 4.999999
=> true
有没有办法排除第一个数字而不是最后得到这样的结果?
(1...5) === 1
=> false
(1...5) === 1.00000001
=> true
感谢您花时间了解我所需要的(不仅仅是2 ... 5)。太糟糕了,没有内置的支持。我认为测试数字> 1 &&数字<= 5比创建自己的类更容易。我想如果我确实想创建自己的类,我可以在内部使用Range对象,但只需提供包含?,成员?等方法的执行略有不同。 – dontangg 2010-12-22 21:06:20
您可以在内部使用Range对象,并取消所有值。例如,内部范围将是(-5 ... -1)。这将包括-5,但不包括-1。当然,这只适用于其值为否定的范围。 – Mashmagar 2013-04-24 16:38:27