盖怎么样?在这种情况下用字符工作?

时间:2012-01-09 19:00:30

标签: ruby range

我在尝试理解Range类的cover?方法如何工作时遇到了一些麻烦。

从文档中可以说:

cover?(val)→true或false :如果obj介于beg和end之间,则返回true,即beg< = obj< = end(或者当exclude_end?为true时结束,则为end)

当我这样做时:

test = "A".."X" 

我希望test.cover? "AX"失败,因为对象AX似乎超出了范围限制。但是它会返回 true 。然后我执行:test.cover? "XX"并返回 false

我不知道AX是如何在这个范围内的,一般来说我认为很难看出覆盖?如何适用于不是数字的对象。所以我的问题是:如何对象“AX”在该范围内,但对象“XX”不是。

1 个答案:

答案 0 :(得分:3)

在黑暗中拍摄,但我认为这是因为“AX”在“A”后来所以它在范围内,而“XX”来自之后 / em>“X”超出范围。

检查IRB,您可以看到:

"AX" > "A" && "AX" < "B" => true
"XX" > "X" => true