[ruby-dev:3478] Re: yield under an object

From: matz@... (Yukihiro Matsumoto)
Date: 1998-08-25 17:23:37 UTC
List: ruby-dev #3478
まつもと ゆきひろです

In message "[ruby-dev:3477] yield under an object"
    on 98/08/26, Inaba Hiroto <inaba@st.rim.or.jp> writes:

|ruby/TK とかで、例えばnewメソッドにブロックを渡してそのブロックの評価
|に際してnewされたオブジェクトをselfとした環境で実行したりしますが、こ
|ういう事をスクリプトのみで記述できるのでしょうか?

instance_evalを駆使すれば可能かもしれませんです.

例:

   def foo(obj, &b)
     obj.instance_eval(&b)
   end
   foo("a"){p self}     # "a"がselfになる

|それとも、これは多重継承と同じでCレベルでは実現できるけれども、あえて
|スクリプトレベルではできないようにしている機能なのでしょうか?

そういう明確な意図はないと自己分析してます.もっともRuby/Tk
のあのAPIに関しては「失敗だったかなあ」と思っていることを白
状しておきます.
                                まつもと ゆきひろ /:|)

In This Thread

Prev Next