From: Kenta Murata Date: 2008-04-11T18:36:41+09:00 Subject: [ruby-dev:34340] Re: ComplexFloat むらたです. 2008/4/11 Yukihiro Matsumoto : > |ふなばさんの Complex は,成分クラス (Fixnum, Bignum, Rational, Float) > |でメソッドが再定義されたときにその影響を被ります.これは,Complex が > |コンテナとして実装されているからです. > > 現在の実装では確かにそうなっていますが、これは仕様の一部であ > るとは認識していません。ので、それを堅持するために別の閉じた > 系としてのComplexFloatを導入する必然性も感じていません。 複素数については,どちらも必要です.現在 Ruby に任意制度の小数を 表現できるクラスが組込みで提供されていないので,BigDecimal のような クラスを使って複素数を実現するときはコンテナ型の複素数が必要になります. ですから,ふなばさんの Complex がコンテナ的である事は実装上の都合 ではなくて,本来の仕様の一部にすべきです. その上で,やはり閉じた複素数もあるべきだと思います.そして,最適化等の 可能性を考えれば,閉じた複素数が組込みで提供されている方が自然である と思います. -- Kenta Murata OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC