From: Tadayoshi Funaba Date: 2008-03-31T20:08:34+09:00 Subject: [ruby-dev:34187] Re: Complex組み込み > そうです。Complex が難しい、という話を書いておくと、 > > 例えば、z = Complex(1.0, 0) と z = Complex(1, 0)、どちらのケースでも > > z.is_a?(Complex) && z == 1 > > は真なのに、z/2 は、前者では 0.5 に等しく、後者では 0 に等しい。つまり、 > このケースでは Complex は、もとの数をラップして分かりにくくしている。 それは、Complex ではなく、ruby の / 演算子の振舞いが原因なので、解決す るには、/ のほうを変更する必要がありますね。Complex に限らず、すでに以 前からあることですよね。 あとは、利用者が、/、div、fdiv、rdiv などをつかいわけると。 僕としては、/ 演算子の振舞いについて前向きに検討してほしいです。 > 若干の修正の後、complex.rb にある Complex も組み込みにする 今の trunk にある Complex のどのあたりが不満ですか? > ところで、もしかしてふなばさんは、Math.sqrt(4) は、Integer の 2 にした > いと考えているのでしょうか?Rational、Complex 組み込み後、デフォルトで、 > mathn を require しない状態で、オプションなしで、の話です。 仮に現時点でできなくても、そう出来る可能性をつまないようにしたい、とい うことですね。原さんの案では、基本浮動小数点数のみ、おまけで複素数、と いうことなんだと思いますが。