From: keiju@... (Keiju ISHITSUKA) Date: 1997-03-20T01:58:57+09:00 Subject: [ruby-list:2394] Re: eval()'s context けいじゅ@SHLジャパンです. In [ruby-list :02392 ] the message: "[ruby-list:2392] Re: eval()'s context ", on Mar/19 19:00(+0200) matz@caelum.co.jp (Yukihiro Matsumoto) writes: >|トップレベルで関数/クラスを定義したいということもそれなりに多いと思い >|ますので, トップレベルのバインディングをグローバル変数などに保存してお >|いてもらえると嬉しいのですが, いかがでしょう? >定数 TOPLEVEL_BINDINGにとっておきましょう. どうもです. でも, バインディングを用いても以前のeval()中のdefなどと動 作が異なっているので若干注意しなくてはいけませんね. >|基本的には記述が楽になるので私は構いません. >他に異論のある方はいらっしゃいませんか? eval()を用いたメソッド定義って2段階にトリッキーなのであまり使っている 人はいないでしょうね. 1段目: クラス文(class ...)によるクラス定義は複数できる. 2段目: evalを用いれば, 動的に(文字列から)メソッド/クラスを定義できる. 1段目が許されている人はあまりいないかも知れませんね. >もっともまつもとはこの変更に乗り気ではあるのですけど,穴があ >るといけないと思って. evalによる動的クラス/メソッド定義がどこでもできるわけじゃなくなるとい うことから記述力が少なくなる可能性はありますが, 回避作はあるでしょうか らいいんじゃないですか? __ .....................................石塚 圭樹@SHLジャパン(株)... ------------->アドレス変わりました!! e-mail: keiju@shljapan.co.jp <----