From: SASADA Koichi Date: 2007-03-20T16:58:17+09:00 Subject: [ruby-dev:30651] Re: YARVでのalias名の取得方法  ささだです。 Yukihiro Matsumoto wrote: > あるのかないのかよくわかりませんが、「できるけど今はない」と > いう意味だと解釈しました。  いえ、「今はあります」。だけど、出来れば削りたいところです。 > でも、__callee__がないとエラー時に > どのメソッドを呼んだのか分からなくないですか。あ、YARVはエラー > 時にはいつも__method__相当を表示しているのか...そうか。  エラー時に、というのはスタックトレースの話でしたっけ。これは、どういう ものであるべきでしょうか。 > | ちょっと追えていないのですが、__callee__, __method__ の定義を教えても > |らえませんか。 > | > |class C > | define_method(:foo) { > | p __callee__ > | p __method__ > | } > |end > | > |C.new.foo > | > | これは何を表示しますか。 > > 両方とも:fooを表示します。  うう、すみません。alias を忘れていました。 class C  define_method(:foo) { p __callee__ p __method__ } alias bar foo end C.new.foo C.new.bar でしょうか。でも、define_method も普通のメソッドも同じ挙動にしろといわれ るんでしょうね。どうやって実装すればいいんだろ。 -- // SASADA Koichi at atdot dot net