まつもと ゆきひろです

In message "[ruby-list:8216] Delegation"
    on 98/06/07, "YANAGAWA Kazuhisa" <kjana / os.xaxon.ne.jp> writes:

|  Subject からではなんだかわかりませんが,Delegator に関連するお話です.
|  WWW で少し前のメールを読んでいて,Promise の様なものを書いてみたとき
|  に思ったのですが,初期オブジェクトが不定な delegation は Delegator
|  で書くことはできませんよね.

ええ.一般的にはその方が望ましいんでそういう風になってます.

|  実際に書いたものは Delegator でメソッドを def しているところを
|  undef_method に変更し,method_missing でメッセージを転送するようにし
|  てみました.これでまあ動きはするようなのですが,
|
|  1. このようにした場合,何か問題が起こり得るでしょうか.

method_missingは「メソッドが定義されていない」時にしか呼ばれ
ませんから,Objectで定義されているメソッドに対しては転送が行
われません.delegate.rbでやってるのと同様の方法で明示的に転
送してやれば良いんでしょうけど.

|  2. 初期オブジェクトが不定な delegation を上手く書く,もっと上手いや
|     り方は考えられるでしょうか.

method_missing以上の方法は無いと思いますよ.

|  # どうでもいい事ですけど,こっちも dev もこっそり subscribe すること
|  # ができなくなったんでしょうか.合計四回も怒られてしまった (^^;

最初のメールはコマンドメールではなく普通のメールでお願いしま
す.8行以内ならMLには流れませんから.

                                まつもと ゆきひろ /:|)