From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-08-11T17:22:12+09:00 Subject: [ruby-dev:96] Re: meta programming features けいじゅ@いそうろう.日本ラショナルです. In [ruby-dev :00095 ] the message: "[ruby-dev:95] Re: meta programming features ", on Aug/11 15:58(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >| Module#flavors >| Module#instance_methods >| Object#methods > Module#instance_methods >と > Object#methods >は実装しました. 了解. >flavorsは「概念の名前」という議論があったの >で(一応の結論は出ましたけど),保留してるんです. いい名前出てきませんし, これでいいじゃないかと... >| Object#eval >| >|はどうでしょう? つまり, インスタンスのスコープ(?)で直接evalしちゃうも >|のです. >| >|foo = Foo.new >|foo.eval "@foo = 1" >|foo.eval "def bar; @foo; end" >| >|クラスに関してあるんだから, オブジェクトにあっても良いと思うんですが... >この名前だと普通のevalとバッティングしますね. おお.... >で,新しい名前さえあればあっても悪くないとは思うんですが,若干実装上 >の問題があるのと,class << objとevalを組み合わせてもらうことにしても >らえれば,良いと思います. これどうやるとできるんですか?? class << foo はfooの特異クラススコープ での実行だと思うのですが? 私がいいたかったのはインスタンスfooのスコー プでの実行なんですが... >|foo.eval "@foo = 1" を実行したければ: class << foo def set_foo; @foo = 1; end end foo.set_foo を行えっていうわけでないですよね? # それとも私の理解が足りないのか?? __ ..........................................石塚 圭樹@日本ラショナル... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---