From: Matthew Smillie Date: 2006-01-29T07:31:56+09:00 Subject: Re: nil != [] >> 0 *the integer* is only false by convention, > > Well I do understand that it's a convention. They same is true for a > lot of things. Like the positioning of gas and break pedals in cars. Computer languages are not cars, nor are all conventions equal. For example, I'm unaware of any convention on what material the seats should be covered in. As far as 0 goes, there are languages out there which don't even use numbers, let alone define particular integers as 'true' or 'false'. There are any number of reasons to favour either approach over the other, so I couldn't possibly pick the exact reasons Ruby is the way that it is, but there are a couple reasons to not let 0 equate to false if you look at the very top of this page: http://www.rubygarden.org/ruby?RubyIdioms matthew smillie.