まつもと ゆきひろです

「1.8でinheritedを呼ぶタイミングが変わったよ」という話です。
ま、この機会にhookの名前とタイミングを再検討してもよいかという気になっ
ているのですが、

Fri Sep 27 13:24:35 2002  Yukihiro Matsumoto  <matz / ruby-lang.org>

	* eval.c (rb_eval): Class#inherited should be called after the
	  execution of the class body.

の変更を行った理由が思い出せません。なかださんとやりとりがあったような
気がしているのですが、bladeで見つけられませんでした。どなたか覚えてい
らっしゃる方はいませんか?

なにか一貫性に欠けることがあってこうしたような覚えがあるんだけど、今思
えば、rb_define_class()の呼び出しタイミングから考えるとボディを評価す
る*前*の方が一貫性があるようにも思えます。



In message "Re: Class.inherited"
    on 03/01/02, Yukihiro Matsumoto <matz / ruby-lang.org> writes:
|
|Hi,
|
|In message "Class.inherited"
|    on 03/01/02, Matthias Veit <matthias_veit / yahoo.de> writes:
|
||Is it possible to introduce the method into the main ruby branch?
|
|Hmm, this is a good chance to reconsider about hooks.  Currently we
|have the following hook methods.
|
|  name                    | timing
| =========================|===========================
|  inherited               |after "class" (in Ruby)
|  included                |after "include"
|  method_added            |after "def"
|  singleton_method_added  |after "def"
| =========================|===========================
|
|I'd like to hear about when, where, what names are suitable for
|class/method definition hook methods, in addition to above methods?
|Timing of existing hook might be changed after the discussion.
|
|							matz.