まつもと ゆきひろです

In message "[ruby-dev:1580] Re: [BUG] String.dup"
    on 98/03/04, Shugo Maeda <shugo / po.aianet.ne.jp> writes:

|前田です。

|最初に石塚さんがおっしゃっていたように、
|
|Object --- Primitive -+- Array
|                      |
|                      +- Hash
|                      .
|                      .
|                      .
|                      +- Data
|
|としておいて、data_object_allocはDataのサブクラスしか受けつけ
|ないようにするというのはどうでしょう。

その場合Floatってどうしますか? ComplexとかあるのでNumericを
Floatのサブクラスにはできませんし,NumericとFloatの間に
Primitiveをはさむ,というのも難しい話でしょう.

|拡張モジュールを全部書き直さないといけないのが難ですが、
|
|    cDBM = rb_define_class("DBM", cObject);
|
|などとなっているのを、
|
|    cDBM = rb_define_class("DBM", cData);
|
|とするだけなので、それほどコストはかからないと思います。

世の中にある全部の拡張モジュールを書き換える必要があるわけで
すからできるだけAPIは変えたくないんですよねえ.

                                まつもと ゆきひろ /:|)