From: matz@... (Yukihiro Matsumoto) Date: 1998-11-24T12:39:41+09:00 Subject: [ruby-dev:3648] Re: block local variable (Re: スコープの範囲) まつもと ゆきひろです In message "[ruby-dev:3626] block local variable (Re: スコープの範囲)" on 98/11/22, MAEDA Shugo writes: |前田です。 |foo = 0 |iter { | foo ::= 1 # ブロックローカルになる。演算子はSatherから借用:-) |} |p foo #=> 0 | |っていうのはどうでしょう。 |これだと名前の衝突を避けられるので、ブロックローカル変数の |メリットが増すと思います。 いやあ,アイディアとしては「面白い」と思います. が,実際に採用するとなると,「変数はネストしない」という今ま でのRubyの主義に反するのが気になります. |foo = 1とした時の動作を従来通りとすれば、互換性の問題もないですよね。 |個人的にはfoo = 1とした時は、既にブロックローカルとしてfooが宣言されて |ないかぎり、普通のローカル変数への代入とみなす方が便利な気もしますが。 その方が便利でしょうが,多くのスクリプトが破綻するので困るん ではないかと思います. まつもと ゆきひろ /:|)