前田です。

At Mon, 2 Jul 2001 13:38:31 +0900,
matz / ruby-lang.org (Yukihiro Matsumoto) wrote:
> |> wrapするメソッドを作ってそこでbindingを得るというAPIが良さそ
> |> うです。名前は...なにかいいのがありませんかねえ。
> |> 
> |>    wrapper_binding = Module.new.wrap{binding}
> |
> |ブロックには普通、その場所のコンテクストが保存されます
> |(instace_evalなどでselfの切替はあるにせよ)が、Module#wrapではその
> |コンテクストを破棄して新しいコンテクスト(FRAMEやSCOPEなど)でブロッ
> |クを実行するのでしょうか?
> 
> つまり、wrapper以外は外側のコンテキストをそのまま使おうとい
> う意図だったんですが。

load(file, true)の時と同じように、できるだけクリーンな空間がほし
いので、以下のようなブロック以外の方法もあるとうれしいです。

> |どうせなら、Module#wrap_eval(str, filename, lineno)とかにしてstr
> |が省略されたらブロックを使うとかいうのはどうでしょう。
> |問題は名前ですが…。
> 
> そうです。名前です。

うーん、protect_evalとか…。

-- 
前田 修吾