From: "NAKAMURA, Hiroshi" Date: 2002-11-13T19:31:54+09:00 Subject: [ruby-dev:18771] Re: klass == 0 as ruby_top_self in call_trace_func なひです。 > From: nobu.nakada@nifty.ne.jp [mailto:nobu.nakada@nifty.ne.jp] > Sent: Wednesday, November 13, 2002 7:11 PM > > > nilにするのか、rb_cObjectにするかどちらかが「正しい」んじゃ > > > ないかと思います。 > > > > Objectはちょっと違うような気がするので、nilに一票です。 > > rb_obj_class(ruby_top_self)でObjectになりそうな気がしますが。と > いうかfalseじゃまずくてnilにする意味ってなんでしょう。 ・falseじゃなくてnil というのは、trace_funcに渡されるidのほうは、 デフォルト値がnilになっているのに対し、klassのほうが false、というのが腑に落ちなかったからです。 またなにか勘違いしてそう(今日は全敗)。 ・Objectになりそう そうですね。ただこれは、なひが最初に勘違いしていて 混乱させているんですが。。。 ここでlast_class == 0が渡ってくるのは、lineかraise の時です。でも、lineかraiseの直前に呼び出された メソッドが属するクラス、って、渡されてもほとんど 意味ないような気がします。なのでnilでいいや、と。 lineやraiseでidやklassを返そうとしてるのが変? 参考: http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=%C1%C8%B9%FE%A4%DF%B4 %D8%BF%F4#set_trace_func