From: Lloyd Linklater Date: 2007-09-12T19:37:21+09:00 Subject: Re: Is this a bug or a feature? Here is what I understand based on Pascal. There are two main kinds of this loop: repeat..until while..do In the repeat..until (our own version of the until) it does things then checks for the break condition. In the while loop, it checks then does things. In our example here, we have: i=1 until (i+=1)>5 p i end The question is, when does it evaluate? When I learned basic algebra, I was taught to figure out the things inside the parens first. I think that is what is done here. Therefore, the first thing done is to increment, then evaluate. To get what you seem to want, you would need to evaluate before you increment, which would look more like this: i = 1 until i>5 p i i+=1 end You were telling it to increment, THEN evaluate. That being the case, it would not be a bug. IMHO -- Posted via http://www.ruby-forum.com/.