From: matz@... (Yukihiro Matsumoto) Date: 1997-08-29T11:32:57+09:00 Subject: [ruby-dev:320] Re: [Q] [Re: [BUG] method index] まつもと ゆきひろです In message "[ruby-dev:316] [Q] [Re: [BUG] method index]" on 97/08/28, 石塚圭樹 writes: |けいじゅ@日本ラショナルソフトウェアです. |1. |先ほどのプログラムでは, 特異クラスは取り出せないのですか? 特異クラスも |Classのインスタンスだと思ったのですが... 特異クラスは取り出せません.ドキュメントにある特異クラス定義 (新しいマニュアルでは用語を変えます)の動作モデルは * そのオブジェクトに固有の動作を表現する「一時的な」クラス (仮想クラスと呼びましょう)を作り,それに対して機能を追加 する. * endがきたら,その仮想クラスに対して行われた操作を元にオ ブジェクトの固有の挙動を変更する. というものです.つまり,仮想クラスは仮想的なものですから, ObjectSpace.each_objectで取り出せません.実際の実装では仮想 クラスはいつも存在しているのですが. |2. |良く考えたら, instance_methodsじゃ不十分なことが分かりました. そのメソッ |ドがどこで定義されているか分からないからです. クラスの継承関係の配列を |返すメソッドがあると思いましたが, 何という名前でしょう. Module#ancestorsです.結局平凡な名前になりました. まつもと ゆきひろ /:|)