けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :30344 ] the message: "[ruby-list:30344] Re: TMarshal ", on Jun/21 02:02(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|うーん. basic_newがデフォルトの動作ではいけないのはPrimitiveのクラスの場 >|合だけ問題あるわけですよね. > >PrimitiveってのはT_OBJECT以外ってことですよね。それならそう >いうことです。 です. >|そういえば思い出しました. [ruby-dev:1553]からのスレッド. >|## 懐かしいなあ... あの頃はパワーがあったなあ... 同時に幾つもスレッドが >|## 走っている... > >年寄り。;-) というか, 最近と言うかズートなんですがMLに集中している暇はないんですね... それをやるなら他をやんなくてはって感じで... >|で, その時と同様の案ですが. >| >| rb_define_singleton_method(cArray, "new", ary_s_new, -1) >| >|の様にCレベルでメソッドnewが定義されたら, basic_newをundefする。というの >|は? > >これって結局 > >|>|いわんとしているのは、newを定義したとき、basic_newがそのクラスで定義され >|>|ていなかったらbasic_new を undef するってことです. > >とおんなじですよね。それでいいんですかねえ。 同じと言えば同じなのかもしれないですが、スクリプト上でnewを再定義しても basic_newはundefされないと強調したかったんですが. >basic_newを先に用意して、newをそちらを使うって慣習を作っとけ >ばよかったですかね。 うーん. でも, 問題になるのが組み込みクラスとextなクラスだけですし、 basic_newしても落ちはしない(ないですから)ので, あとは, 気付いた人が徐々 にバージョンアップしてbasic_newを作っていけばいいので, それほど問題ない のでは? ただ, すべてのクラスにbasic_newがあるとすると... たとえば, File.basic_new でできたオブジェクトって何? とかってなってきますけどね(^^;; もしかしたら, basic_newは、privateかprotectedのほうがよいかもしれないで すね. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju / rational.com <<---