Steven> I would appreciate some explanation on why Ruby behaves
    Steven> like this

    Dave> I suspect because the alternatives in other languages were
    Dave> error prone. I know I've been bitten by loops that
    Dave> terminated prematurely in Perl.

I am reminded of a thread on the python list a while back.  They were
trying to list everything that was treated as false.  After about four
or five people contributed they believed that they had a complete list
all false values.

I was never convinced they didn't miss one.

-- 
-- Jim Weirich     jweirich / one.net    http://w3.one.net/~jweirich
---------------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct, 
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)