いがらしです。

At Wed, 01 Mar 2000 11:25:40 -0500,
in [ruby-ext:00934] Ruby/Gtk: singleton_method_added(),
Yasushi Shoji <yashi / yashi.com> wrote:
> 
> require 'gtk'
> 
> w = Gtk::Window.new
> def w.delete_event(w)
>   print "bye\n"
>   Gtk.main_quit
> end
> 
> w.show
> Gtk.main
> 
> って、動くんですね‥、すごい‥‥‥。
> # もしかして常識?

これ以外に知られていないと思います。
僕も去年の夏頃ソースを見ていて気づきました ;-)
Ruby本のpp.197にも書いてありますね。

何かsingleton methodを使ったサンプルプログラムを
sampleディレクトリに追加しましょうか。
sample/helloworld.rbを書き直したものでもよいのですが。

ただsingleton methodによるシグナル処理の記述には問題もあって、
ウィジェットのメソッド名とシグナル名が衝突する可能性が
あるんですよね。例えばGtk::Editableのinsert_textメソッドと
insert-textシグナルとか。

> delete-eventだと parser errorなところが悲しい。

こればっかりは…残念ですが。

--
五十嵐  宏  (Hiroshi IGARASHI)