まつもと ゆきひろです

In message "[ruby-ext:01264] method vs signal"
    on 00/09/11, Yasushi Shoji <yashi / yashi.com> writes:

|Ruby的な用語(?)を使って言うと 
|
|「Gtk+ のsignal systemは一つの method (id) に複数の proc/block objectを
|関連付ける事ができる。さらに、default hander(proc object) は、signalが発
|生したときにいつ callされるかを決める事ができる。」
|
|と、なるかと思います。(違ってたら教えてください)
|
|で、問題なのが、「複数の objectを関連付ける」と言う所なんですが
|
|これは、ruby の singleton methodを def する事とは相反しますよね?

原理的にはsingleton_method_addedは古いメソッドがゴミになって
しまった後で呼ばれるので、対応は難しいかも。

可能性があるのは、singleton_method_addedで

  現在のメソッドをmethodオブジェクトとして取り出す

  そのmethodオブジェクトをなんらかのハッシュに格納

  ハッシュからmethodオブジェクトを(複数)取り出し、呼び出すメ
  ソッドとして再定義する(再帰しないように注意)。

とすることくらいでしょうか? でも、これが本当にどれだけ意味
があるのかは疑問です。

個人的にはsingleton methodは「単一のハンドラを簡単に扱う手段」
という位置にあまんじて良いと思ってますが、

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