From: Kenta Murata Date: 2008-04-13T03:12:38+09:00 Subject: [ruby-dev:34373] Re: ComplexFloat むらたです. 2008/4/13 SASADA Koichi : > > # 私の個人的な見解を言うと,数値クラスの演算は上書き不可能になってくれたら > > # とても嬉しいですね.そうなれば Rational や Complex の実装をもっと簡単に > > # できると思いますし,新たな数値クラスを作る場合も嬉しい気がします. > >  よくわかっていないのですが,再定義不可能だったら新たな数値クラスを > 作るのに困ったりしないでしょうか. 派生クラスで定義しなおすことを禁止する必要はないので,新たな数値クラスの 作成に支障はないと思います. たとえば muraken:~/src/ruby$ ./miniruby -e 'class Fixnum; def +(x); nil; end; end; p 1 + 1' nil こういうことは出来なくなるけど,まだ存在しないメソッドを追加で定義すること は可能である,ような感じでしょうか. 現状でも,クラスを freeze すればメソッドの上書き・追加が不可能になるので, freeze されていることを利用して最適化されたコードに移行するという方法も ありますから,そこまで複雑怪奇にする必要は無いかもしれませんね. -- Kenta Murata OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC