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