In article <20010809221751J.aamine / mx.edit.ne.jp>, Minero Aoki <aamine / mx.edit.ne.jp> writes: > def search( klass, method ) > klass.ancestors.each do |c| > if c.public_instance_methods(false).include? method then > return c > end > end > nil > end > > p search Fixnum, 'hash' #-> Object > > というのではどうでしょうか。 おぉ、なるほど。ancestor それぞれについて public_instance_methods する わけですね。そうすることにします。 ... えぇと、完璧を期すすために特異メソッドも調べるには... 今回の用途には singleton_methods(true) で済むのでとくに問題はないので すが、(Object#extend によってモジュールのメソッドを特異メソッドとして 定義したときの)特異メソッドがどのモジュールで定義されているのかを調べ る方法はあるんでしょうか? # singleton_methods の引数は 1.6 にはない(うえ、さらに undocumented な) # ので、また、動かなくなってしまった... どうするべきかなぁ。 -- [田中 哲][たなか あきら][Tanaka Akira] 「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)