On Sep 20, 2006, at 3:37 AM, Hussachai Puripunpinyo wrote:

> puts nil==nil #Yeah that's true
> puts !nil #true
> puts !nil==true #true
> puts nil==false #FALSE !!!
>
> What happen in the last statement? [or I miss something]

nil isn't false. Both nil and false are objects in ruby. Compare:

% irb
 >> [nil, false].map { |o| o.object_id }
=> [4, 0]