From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-08-29T13:31:19+09:00 Subject: [ruby-dev:324] virtual class [Re: [Q] [Re: [BUG] method index] ] けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :00320 ] the message: "[ruby-dev:320] Re: [Q] [Re: [BUG] method index] ", on Aug/29 11:32(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >まつもと ゆきひろです >|1. >特異クラスは取り出せません.ドキュメントにある特異クラス定義 >(新しいマニュアルでは用語を変えます)の動作モデルは > > * そのオブジェクトに固有の動作を表現する「一時的な」クラス > (仮想クラスと呼びましょう)を作り,それに対して機能を追加 > する. > > * endがきたら,その仮想クラスに対して行われた操作を元にオ > ブジェクトの固有の挙動を変更する. >というものです.つまり,仮想クラスは仮想的なものですから, >ObjectSpace.each_objectで取り出せません.実際の実装では仮想 >クラスはいつも存在しているのですが. 仮想クラスの件はなっとくしましたが, 少し気になる点が... 仮想クラスのクラス定数やインスタンス変数はどうします? 仮想的なクラスに 状態があるというのも変ですよね? クラス定数は特異クラス定数みたいな概念 を出せば済むと思いますが... どう考えてもインスタンス変数は無理がありま すよね? >|2. >Module#ancestorsです.結局平凡な名前になりました. それほど平凡でもないような(^^;;; 3. ついでにリクエスト インスタンスとクラスの関係を調べるメソッドはありますが, クラスとクラス の関係を調べるメソッドがないことに気づきました. * ancestor_of? せんぞか(module含む)? * superclass_of? 直接のスーパクラスか? * subclass_of? 直後のサブクラスか? * descendant_of? 子孫か(module含む)? __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@bc.mbn.or.jp <<---