In 1.8.[67] the following range does not produce what I expected:
("\x00"…"\x7F").to_a
It only produces the characters between \x00 and \x39, while in
1.9.[12] it produces the full expected range.
I’m curious if this would be considered a bug, intentional, or I’m
missing something?
A workaround that does the right thing in all versions:
On Sat, Oct 30, 2010 at 4:33 PM, ara.t.howard [email protected]wrote:
you are relying on String#succ! there. read the docs to understand
why it is not what you want.
Thanks for the tip. I read the docs and it did shed some light on what
is
going on behind the scenes, but I still don’t get why it works in 1.9. I
will have to investigate further.
Thanks Robert. Another great example of the “TIMTOWTDI-ness” of ruby
and how one’s view gets shaped by where they started from.
I have a slight preference for the one that includes the range. It
tells me just a little bit more about what the intention is. Obviously
that’s just a matter of taste, or lack thereof.
I still haven’t figured out why it works under 1.9. I guess
String#succ has changed.
Cheers,
Ammar
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.