On Wed, 5 Aug 2009, Rob Biedenharn wrote:

>> It gets better.
>> 
>>>> ("100".."11").to_a
>>    => ["100"]
>
> Now, that one is odd. I'd have predicted a result of:
> => ["100", "101", "102", "103", "104", "105", "106", "107", "108", "109"]
> on the basis of staring with "100" and applying #succ until the value was 
>> "11" like this loop does:
>

It's doing a comparison of the strings -- it has to do with the 
length of the string.  "100" is longer than "11", it also happens to be 
less characters (and, based on #succ, it's "less").

In order to find the range, it's going to compare the two strings --

+  it compares for the string lengths to get whether the beginning is less 
than the end

+ It then uses #succ to try to expand the range, but since "100" has more 
characters than "11", it stops...

Hope I've not muddied it too much.....

Matt