From: matu Date: 2008-08-25T05:26:02+09:00 Subject: Re: Why 'if 0' succeeds in Ruby Dave Bass wrote: > False and nil are two quite different concepts and should not be > conflated. I agree with you. I am also used to this. nil should never == true, and neither be == false. Every comparison with nil should just fail. if true p 'code is executed' end if false p 'code is not executed' end if nil p 'code is not executed' end unless nil p 'code is not executed' end if nil p 'code is not executed' else p 'code is not executed' end But I actually like rubys behaviour as well: I somehow think it's logically wrong, but practical.