http://qs321.pair.com?node_id=168368


in reply to Unless vs. Until?
in thread until loops

Unfortunately this won't work. The until loop will continue redoing the block until the condition is met. Unless will only execute the block one time, leaving the counter at 1901 instead of 2000.

Update: crazyinsomniac has pointed out a better way to say this: The unless(condition) statement is saying the same thing as to if( not condition). The until(condition) statement is equivelant to while( not condition).

That is to say, until() and while() are loops, and will repeat until the condition is met, while if() and unless() are not, and will only execute the block 0 or 1 times. Therefore, you can't trade unless() for until().