我试图了解如何range.cover?工作和遵循似乎令人困惑 -
("as".."at").cover?("ass") # true和("as".."at").cover?("ate") # false这个孤立的例子并不令人困惑,因为它似乎是
ass在.atate("1".."z").cover?(":") # true这个事实似乎是基于 ASCII 值而不是字典样式,因为在字典中我希望所有特殊字符都在偶数之前,而混乱从这里开始。如果我认为是真的,那么如何
cover?决定采用哪种比较方法,即使用 ASCII 值或基于字典的方法。以及范围如何与数组一起使用。例如 -
([1]..[10]).cover?([9,11,335]) # true这个例子我预计是错误的。但从表面上看,在处理数组时,边界值和
cover?' 参数都被转换为字符串,并且简单的字典样式比较会产生 true。这是正确的解释吗?可以处理什么样的物体
Range?我知道它可以numbers(除了复杂的),handlestrings,能够神秘地使用,arrays而boolean, nil and hash其他值会导致它提高ArgumentError: bad value for range