From: matz@... (Yukihiro Matsumoto) Date: 2002-06-07T15:31:54+09:00 Subject: [ruby-dev:17354] Re: blocks and local variables まつもと ゆきひろです In message "[ruby-dev:17348] Re: blocks and local variables" on 02/06/07, Shugo Maeda writes: |今みたいに暗黙のブロックローカル変数の宣言があると、:=を明示的な |宣言にしてもそれほどうれしくないんですよね。 そうでもないと思います。暗黙のブロックローカル変数はできるも のならなくしたいけど。 |というのは、そうすると:=は外側の変数をhideすることにしか使えない |(そしてそれはあまり良くないことだと思われる)からです。 | |# と、今まつもとさんと話していたら、:=で外側の変数をhideする場合 |# には警告を出すべきだという話になりました。 |# つまり:=ができてうれしいのは、識別子が重なっているのを検出でき |# る点にあるわけです。 より正確には * 識別子が重なっているかどうかを気にしなくてよい というのが最大の利点です。これは警告を出しても出さなくても実 現できます。これは次の利点である * 重なっていても「正しく」動く ということから得られます。そして最後に、警告を出せば * 重なっていることが検出できる というメリットになります。 まつもと ゆきひろ /:|)