From: matz@... (Yukihiro Matsumoto) Date: 1997-07-17T01:36:54+09:00 Subject: [ruby-list:3364] Re: module context and dynamic class define [Re: meta programings] まつもと ゆきひろです In message "[ruby-list:3362] Re: module context and dynamic class define [Re: meta programings]" on 97/07/16, 石塚圭樹 writes: |けいじゅ@今はフリー(^^;;;です. |それならいいのですが... やっぱり問題でした(後述). |> * こういうコードで定義されるメソッドがprivateになる |> |> Class.new { |> def bar |> ... |> end |> } |> |>となります. | |とすると, メソッド定義だけが問題になっているのかな? 定数に関しては問題 |ない? 問題だったんです.定数もトップレベルでしか定義できないんです. |ああ. でも, この場合: | | def foo | code = "def bar | ... | end" | Class.new("Bar", Object) { | Baz = "Hoge Hoge" | eval code | } | end | |は可能になります? イテレータのバインディング云々はこういうことができな |いことを意味している?? いや,定数の問題以外はできます.バインディング云々の意味は クラス(モジュール)定義は独自のスコープを導入するが,イテレー タは外部のスコープをそのまま受け継ぐ という意味です. まつもと ゆきひろ /:|)