From: Yukihiro Matsumoto Date: 2008-09-22T23:51:03+09:00 Subject: [ruby-dev:36468] Re: {Complex,Rational}::Unify まつもと ゆきひろです In message "Re: [ruby-dev:36461] {Complex,Rational}::Unify" on Mon, 22 Sep 2008 19:59:43 +0900, Tadayoshi Funaba writes: |Complex と Rational では、Unify が定義された場合、可能なら整数等に正規 |化する、という仕組があります。ギリギリですが、この機能をこのまま残して |いいのか確認したいです。 | |この機能は、殆ど mathn 専用です (あちこちで勝手につかわれても困る)。組 |み込みのクラスが、添付ライブラリのために特別な配慮をこういう形でする、 |というのはかなり変っていると思います。 | |まず、正式な仕様なのか裏技なのか、説明のし難いものが存在すること事態が |望ましくありません。 | |たいした負担ではありませんが、正規化するしないにかかわらず、計算の度に |正規化するしないの検査をしなければならないのも気持わるいです。 | |この件は以前から気になっていましたが、当面は動かせないと諦めていました。 |しかし、この間の ** の定義の件で、ruby 側で対処しなくていいじゃない、と |いう意見から疑問に思いはじめました (納得しているわけではない)。何故これ |程に mathn に特別な配慮が必要なのでしょう。 mathn.rbはcomplex.rbなどと同一の作者が同時に(一体として)作成 したものだったので、そのような配慮が存在したのだと思います。 で、complexなどが組み込みになった(mathnと一体とみなされなく なった)現在、そのような仕組みが必須であるかと問われると、必 ずしもそうではないだろうと思います。 まつもと ゆきひろ /:|)