From: Farrel Lifson Date: 2006-03-29T17:10:59+09:00 Subject: Re: Range#to_a, each - why inconsistent? I initially thought it was because "".succ == "" which is not correct, however I created a custom class that returns itself when succ is called: class BadSucc include Comparable attr_accessor :value def <=>(other) self.value <=> other.value end def succ self end end But this did not seem to work irb(main):002:0> b = BadSucc.new => # irb(main):003:0> b.value = 1 => 1 irb(main):008:0> (b..b).to_a => [#] So it seems like it might be a bug to me or there is some other reason why ("".."").to_a returns empty while (b..b).to_a doesn't. Farrel