まつもと ゆきひろです

In message "[ruby-list:36383] Re: ar=[];ar+=2でエラー"
    on 02/11/07, Tanaka Akira <akr / m17n.org> writes:

|なぜユーザは「メソッドの先頭から(実行状況は無視して)宣言だと思って代入
|をスキャン」すべきなんでしょうか?
|
|プログラムというものが小説のように上から下に読んでいくべきものならそう
|なのかもしれませんが、私はそうは思いません。私は根から葉に(なるべく余
|計な葉には寄らずに)読めるべきだと思います。else節を読むのに then節も読
|まなければならないというのが適切だとは思えません。

私自身もこれがどれだけ適切かというと確たる自信があるわけでは
ないのですが、プログラムを書いていてある識別子の種別が知りた
いときには、(個人的には)そこの場所から後ろにさかのぼることが
多いように思います。その場合、条件が成立したかどうかに関する
知識は不要で、ただスキャンできることの方が重要になります。

また、then節とelse節とで区別をするということは、then節とelse 
節で名前の役割が違うことを許容することにつながるので(そして
それはできるだけ避けたい)、私としてはコスト(特に私が実装する
コスト)を受け入れたくないというのがあります。

                                まつもと ゆきひろ /:|)