> そうです。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 しない状態で、オプションなしで、の話です。

仮に現時点でできなくても、そう出来る可能性をつまないようにしたい、とい
うことですね。原さんの案では、基本浮動小数点数のみ、おまけで複素数、と
いうことなんだと思いますが。