From: "K.Kosako" Date: 2002-06-19T14:59:09+09:00 Subject: [ruby-dev:17518] Re: blocks and local variables Yukihiro Matsumotoさんの <1023894487.910745.4082.nullmailer@picachu.netlab.jp>から > |<...>を使用した場合には、パラメタだけでなくブロック内で使用している > |全てのローカル変数が、デフォルトでブロックローカルになるというのでは > |どうでしょうか。 > |<...; a,b>で明示的に宣言した変数(a,b)だけがブロックローカルでなくなる。 > > クロージャとする場合に外部変数の宣言が必要というのがちょっと > 使いにくいような気もしますが。 宣言による方法を止めて、ローカル変数名をバックスラッシュで修飾する という方法にしてみました。 この記法が、現状の何かの機能と衝突していなければ良いのですが。 x = 10 foo do bar do <> p \\x # => 10 x = 20 \x = 30 \\x = 40 p x # => 20 end p x # => 30 end p x # => 40 -- 小迫@ソフネック 渋谷区恵比寿1-15-1