From: keiju@... (Keiju ISHITSUKA) Date: 1997-08-29T15:11:31+09:00 Subject: [ruby-dev:330] [BUG] Module#methods けいじゅ@日本ラショナルソフトウェアです. 以下のプログラムを実行したら, 気になることがでてきました. --- method-index.rb module MethodIndex class ModuleSpec Modules = {} def initialize(cl, methods, cmethods, const) @Modules = cl @class_methods = cmethods @methods = methods @constants = const Modules[@Module] = self end end def main ObjectSpace.each_object(Module) do |mod| sp = ModuleSpec.new(mod, mod.instance_methods, mod.methods(FALSE), mod.constants.keys) print sp.inspect, "\n" end end module_function :main end MethodIndex.main --- ここまで. [1] # とでますが, @class_methodsが mod.methods(FALSE) となっているにも関わら ず, superclassまで見に行っているようです. # 気になるのが全てそうなっているわけでもないってことですが... [2] # @class_methodsで "new" が2つあるのですが... こういう仕様ではないですよ ね? [相談] これを実行していて気づいたのですが, メソッドをover loadしている場合が ありますよね. この場合, マニュアルへの参照を作る時にどのクラスのメソッ ドにすべきか一般には判断できないような気がするのですが?? そのメソッドが定義されている一番上位のクラスってわけにはいかないですよ ねえ... __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---