"Michael Geary" <Mike / DeleteThis.Geary.com> wrote in message news:10allar4vlk2092 / corp.supernews.com... > > what makes zero > > so special that it would warrant being false? > > Because in the real world, zero means false. > > Suppose you have zero quarts of milk in your refrigerator. I am visiting and > I ask: Got milk? > I just wanted to note that I agree with you 100% and find any other interpretation baffling. This is a common error for me - 99% of my Ruby programming errors stem from runtime NoMethodErrors on nil because of Ruby's failure to correctly interpret some boundary condition. If numbers always evaluate to true, it seems absurd to allow them to be used in conditionals predicating on truth - we should at least get a good diagnostic, IMHO. Arguments about the elegance or uniformity of zero's truth are pretty weak in my opinion, due to the fact that Ruby does not exist in a vacuum. LOTS of external libraries, extensions, interfaces, etc, implicitly and explicitly require zero to be false. Personally, I think that the semantics of the spaceship operator (<=> a <=> a -> -1, 0, +1 ) lend credence to the notion of correlation between the syntax and semantics of numeric values (especially zero). -regards, mm