封面如何?在这种情况下工作的人物?

问题描述:

我在尝试了解Range类的cover?方法如何工作时遇到了一些麻烦。封面如何?在这种情况下工作的人物?

从据说文档:

盖(VAL)→真或假:如果obj BEG和结束之间,即求< = OBJ < =端(或端独占时,则返回true exclude_end?是真的)。

当我这样做:

test = "A".."X" 

我希望test.cover? "AX"失败,因为对象AX对我来说似乎之外的范围限制。但它返回true。然后,我做的事:test.cover? "XX"并返回

我不明白怎么AX在该范围内。一般我相信这是暂时难以看到怎么盖?适用于非数字对象。所以我的问题是:对象“AX”是如何在该范围内,但对象“XX”不是。

+0

曾经有人提起了错误报告称行为是令人困惑的。 – 2012-01-09 21:11:23

考虑在这里瞎猜,但我猜想这是因为“AX”谈到“A”,所以它的范围之内,而“XX”来“X”,这将是超出范围。

检查中IRB可以看到:

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

我对于似乎没有那么重要的字符串大小感到困惑吗?方法。谢谢! – Nobita 2012-01-09 19:47:23

+0

''AX' 2012-01-09 20:22:55

+0

@GavinMiller:对,#cover?将在A/X上使用> = && RobH 2012-01-09 20:27:41