Claus Spitzer wrote: > I believe the behavior was borrowed from Smalltalk (or was > it Scheme? one of them). Basically, "Everything is true except > false". And nil. You get to the point though - 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? What's your answer, yes or no? No, of course. It's fairly unlikely that you would say, "Yes, I've got milk. I have zero quarts of milk. There's nothing special about the number zero; it's just like any other number. So, I've got milk." Is there any real-life situation where an answer like that would make the slightest bit of sense? People would think you were either trying to annoy them or had lost your grip on reality. That's why Ruby's interpretation of zero as "true" seems extremely peculiar to me. There's a geeky kind of logic to it, but it doesn't map onto the real world at all. -Mike p.s. Don't get me wrong, I *like* Ruby. :-) But, it has its warts just like every programming language.