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:
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:
The ".to_a" is superfluous here. Here are other options
127.times.map &:chr
(0..127).map &:chr
Kind regards
robert
···
On 30.10.2010 11:33, Ammar Ali wrote:
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:
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.