藤丸です。

 メソッド呼び出しと区別が付かない件は、他の人から教わって理解しました。
#みなさんありがとうございました

> 初期化されていないローカル変数はnilです。
> 
> if false
>   v = true
> end
> p v #=> nil

 これが通るという事で、「初期化されていないローカル変数はnil」という言い
方もわかるのですが、しかし、そういう言い方をした時に、代入前だと

if v==nil
やら
if v.nil?

 がエラーになるのは微妙に気持ち悪くないですか?

 と、いうのも、折角.nil?というメソッドがあるわけで、nilというからにはtrue
が返ってくれる方が嬉しいです。

 現状を理解した上で無理な事を言ってるとは思うのですが、ひだかさん曰くの

> ソースの都合とか実装の都合っていうのはRubyにはそぐわない気がします。
>目的に合わせて実装してあるわけですし、Rubyの方針としては、使いやすければ
>インタプリタの実装が複雑になってもかまわない、という方向だと思います。

 こういう方向で理想的な動作を考えるとすると、nilの時には.nil?はtrueを返し
て欲しいと思いませんか?

============
藤丸博康