From: matz@... (Yukihiro Matsumoto) Date: 1998-03-03T14:53:10+09:00 Subject: [ruby-dev:1565] Re: [BUG] String.dup まつもと ゆきひろです In message "[ruby-dev:1564] Re: [BUG] String.dup" on 98/03/03, 石塚圭樹 writes: |けいじゅ@日本ラショナルソフトウェアです. |きっと, new内のsuperに関するものですね? そうです. |newの時だけ問題になるんですかね? 一番問題になるのはnewでしょう.スーパークラスは通常のクラス で,サブクラスで組み込みクラスにして,メソッドも置き換えると いうような場合には問題が発生しうると思いますが,現在のrubyの クラスの中で一番それに近そうなFixnumではそーゆーメソッドはな いようです. |String < Object | |になっているので, String.new内で呼ばれたsuperがObject.newして構造が変 |わってしまったと... そういうことです. |String < Primitive < Object | |のような実装して, Primitiveでガードするというのは? なかなか良いアイディアですね.思い付きませんでした.ただ, Stringに関してはこれで良いんですけど,ThreadやProcなど数多く の組み込みクラスをPrimitiveのサブクラスにするとか,拡張モジュー ル内で定義されるクラスはどうするのか,とか考えるともうひとひ ねり必要そうです. まつもと ゆきひろ /:|)