From: Tadayoshi Funaba Date: 2008-02-19T20:53:04+09:00 Subject: [ruby-dev:33862] Re: rational, complex and mathn > Rational() は「有理数化」なのでいいんです。整数は有理数だから。 > Rational.new の Rational はクラスだから、Integer を返されると違和感ある > んですよ。 なるほど。 構文的な側面が大きくて、リテラルがあれば大分違いますが、それとも 1/1 や 1+0i が整数であるのも気持わるいですか。1.0 は浮動小数点数化でもない し、1/1 は有理化ではないですよね。 Complex で、Complex.polar と対になるものが Complex() だというのも変な ので、Complex.rect とかあってもいいと思うんですが、この場合も Complex.rect(1,0) が整数を返すのはダメですか。 個人的には Rational.new は実際に有理数を生成しているのだが、ある言語機 能により、直ちに正規化される、と考えても構わないと思います。もちろん実 際にはそんな機能はありませんが。