From: matz@... (Yukihiro Matsumoto) Date: 1998-03-04T18:36:07+09:00 Subject: [ruby-dev:1584] Re: [BUG] String.dup まつもと ゆきひろです In message "[ruby-dev:1580] Re: [BUG] String.dup" on 98/03/04, Shugo Maeda 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は変えたくないんですよねえ. まつもと ゆきひろ /:|)