The Pickaxe Book reference has been given, but I'd like to point you to
another book which deals brilliantly with this sticky issue:

Why's (Poignant) Guide to Ruby (Chapter 4)
<http://www.poignantguide.net/ruby/chapter-4.html>

"Richard Lionheart" <NoOne / Nowhere.com> wrote...
> I can't find anything in Programming Ruby to suggest why zero is treated
as
> true,  as happens in lines and 12 in the following toy program.  Is it
> perhaps because Ruby has no boolean type,  so zero gets converted to a
> string, or something?  Aside from an explantion,  can you cite a relevant
> page in the Thomas&Hunt book?
<snip>