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, 桂遊生丸)