"David Alan Black" <dblack / candle.superlink.net> wrote in message news:0Mm67.4529$1V1.322782 / e420r-atl2.usenetserver.com... > > (99..0).each{|x|w=" on the wall";u=" #{x>0?(x):'no more'} > > bottle#{x!=1?'s':''} of beer";p u+w+u+". Take one down, pass it > > around,"+u+w} > > Because you're using a backwards range. It saves bytes, but it > doesn't iterate :-) Actually it doesn't save anything compared to downto, but more philosofically, why aren't reverse ranges supported? They make perfect sense, especially given the equivalent downto method. A few days back I wrote about how we used ordered sets in market research, and as it happens, we also use ranges - including reverse ranges. I don't like the "Take one down ", when there is no more beer. It's such a dissapointment. Mikkel