From: Masao M. <mu...@hi...> - 2003-11-07 18:05:10
|
むとうです。 On Fri, 07 Nov 2003 02:51:22 +0900 (JST) Masahiro Sakai (酒井政裕) <sa...@to...> wrote: > さかいです。 > > From: Masao Mutoh <mu...@hi...> > Subject: [ruby-gnome2-devel-ja] signal_override > Date: Fri, 7 Nov 2003 01:22:29 +0900 > > > さかいさん > > > > むとうです。 > > となんとなく > > 見ていてふと思ったのですが、これって > > > > V + O にして > > regist_gtype() > > > > signal_connectとかに合わせると > > type_regist() > > gtype_regist() > > > > あたりの方が良くないですかね? > > > > なんとなくtype_registerだとクラス名を彷彿させる > > ような気がします。ってerをつけるとクラス名ってのは > > 私の場合の脳髄反射なので私個人の問題かもしれま > > せんが(^^;)。 > > registerって普通に動詞でも使いますし、 > 私は特に違和感を感じないのですが、 > どうなんでしょうね…… げっ、registerって動詞なんだ....。 すみません、てっきり名詞かと(^^;)。 > 名前は難しいなぁ…… いや、元の名前がg_type_registerってことでしたら type_registerってことで(^^;)。 > > 2. signal_override > > 今の実装だとsignal_override()は不要なのですが > > signal_newとレベルをあわせた方がやはり良いような > > 気がします。 > > そこで、signal_override()は必須ということで > > とりあえずsignal.patchみたいにしてみましたが > > いかがでしょうか。 > > signal_override()が宣言されていない場合は > > signal_do_*()が定義されても呼び出されません。 > > なるほど。 > > # ちなみに、こうするには各クラスにテーブルが必要ですが、 > # このパッチだと Instantiatable の @@__signal_overriden を > # 常に使うことになってしまって、 > # 複数のクラスをtype_registerしたときに、 > # うまく動作しないはすです。 あ、そうですね。インクルードした先のクラス毎に登録 しなきゃですね。 > > ホントは、signal_override("xxx")で設定したシグナル > > のメソッドが定義されていないとランタイムエラーに > > なってくれるとうれしいのですが、アイデアが思い浮かび > > ませんでした(^^;)。 > > unless instance_methods(false).include?("signal_do_xxx") > raise RuntimeError.new > end なるほど。 > > あと、これ、ブロックを受け付けるようにしていただいた > > ようですが、複数の手法を用意するのも混乱の元のような > > 気もしますし、無くしちゃった方が良いのでは? > > このsignal_overrideは現在のmethod_addedを使った方法を実装する前に > 使っていたコードなので、現在では不要のはずです。 > なくしちゃいましょう。 えっと、確認ですが、ブロックの部分を抜かすって ことですよね。signal_override()自体は活かした方が 良いと思ってますので。 > > 3. signal_chain_from_overridden > > これってoverride用のメソッドの中ではsuperで代用する > > んじゃなかったでしたっけ? > > #実装上必要なのかな? > > 現在の実装では不要です。 んじゃ、こちらもとりあえず削除と言うことで。 > > 4. sample > > やはり、日本語はまずいような.....。 > > 日本語のコメントが入っているのをすっかり忘れてました (^^; > > P.S. > リリースは来週にしませんか? そうですね。そうしましょうか。 #ちなみにこの辺の実装ってお任せしちゃって良いのでしょうか? -- .:% Masao Mutoh<mu...@hi...> |