From: "James H." Date: 2006-03-12T09:33:44+09:00 Subject: Re: unexpected behavior of range.each (Newbie extreme) Hey Joe (Whatcha doin' with that gun in your hand? -- a little Jimi Hendrix for you) Someone might have a better answer than me, but I'll give it a shot. The answer to your question is yes, this is intended behavior. Let's look at the Ruby documentation for Range#each: "Iterates over the elements rng, passing each in turn to the block. You can only iterate if the start object of the range supports the succ method (which means that you can't iterate over ranges of Float objects).", http://www.ruby-doc.org/core/classes/Range.html#M001156 Basically, when r = (9..5), you're first saying: 9#succ, which returns 10. 10's outside of your Range which tells #each to stop. So, yes: "low to high". I'm not sure, however, why there's no error message. I hope you found this helpful. James