Mohammad Khan wrote:
[snip]
> # 2
> if (a)
>   block # 2
> end

[snip]

> # 6
> if (not a.nil?)
>   block # 6
> end

> So, isn't #6 more logical than #2.
> Didn't we wanted to mean #6 when we wrote #2

By definition (in Ruby), nil and false are false, and _everything else_ 
is true. Its an axiom in Ruby. Just as, in C, 0 is false and all other 
integers are true.

- Jamis

-- 
Jamis Buck
jgb3 / email.byu.edu
http://www.jamisbuck.org/jamis