From: shugo@... (MAEDA Shugo) Date: 1998-11-28T17:17:19+09:00 Subject: [ruby-dev:3695] Re: block local variable 前田です。 これはnested methodとは関係ない話なのですよね? Subject戻しましたけど、違ったら訂正してください。 >>>>> In [ruby-dev:3693] >>>>> "青木" == Minero Aoki san wrote: 青木> いいこと(?)思い付きました。 青木> Proc.new( {.......} , true ) イテレータブロックは(通常の意味の)引数ではないので、 Proc.new(true) {...} でしょうね。 # Proc#newは引数0のメソッドとして定義されています。 青木> のようにProcの第二引数にTrueを与えるとローカルスコープに 青木> なるっていうのはどうでしょう。元々の話題だった 青木> 「スコープをもったブロック変数」も一応実現できそうだし、 青木> 互換性もありますよね。まつもとさんの「変数はネストしない」 青木> というポリシーには反しますが。 ローカル変数のスコープはコンパイル時に決定されるので、これは無理 なのではないでしょうか。 # パーザはProc#newの定義を知らないので。 やはり変数のネストを導入するには、何らかの形で文法の変更が必要だと 思います。 # 僕自身は必ずしも変数のネストが必要だと思っているわけではないですが。 -- 前田 修吾 (mailto:shugo@aianet.ne.jp)