From: Shin-ichiro HARA Date: 2008-05-14T23:02:41+09:00 Subject: [ruby-dev:34705] Re: int/int -> rational (Re: Re: ComplexFloat) 原です。 > けいじゅ@いしつかです. > > In [ruby-dev :34675 ] the message: "[ruby-dev:34675] Re: int/int -> > rational (Re: Re: ComplexFloat) ", on May/13 18:04(JST) Shin-ichiro > HARA writes: > >> 原です。 > >>> ふなばさんが指摘している問題はありますが, 私的には問題ないと思います. >> ふなばさんの指摘って >> 1 == Complex(1) >> なのに、 >> 1/3 != Complex(1)/3 >> なるって事ですよね。良くないんじゃないかなあ。 > > そうですかねぇ... > >> これって、 >> Complex(1.0) == Complex(1) >> なのに、 >> Complex(1.0)/3 != Complex(1)/3 >> となるよりはマシっていう判断ですよね? > > まあ, それもありますが, それより: > > 1.0 == 1 > > なのに, > > 1.0/3 != 1/3 これは、1.0 と 1 の属するクラスが違うからいいんですよ。 Complex(1.0) と Complex(1) じゃ同じだから問題にしている (いた)んです。 > Ratinal(1)/3 != 1/3 > > ですし, ある意味対称性があるのでよいんではないでしょうか? 対称性かあ、そういう見方もあるかなあ。 > 現状の, > > 1/3 #=> 0 > > をどう考えるかにもよりますが, 将来的に変わるのであれば, 先取りというこ > とで. 変わることを前提に先取りする、というなら筋は通りますね。 ただ、前提にしていいのかどうか。 > 実数がないのに複素数があるのはおかしいうんぬんの話がありましたが, 両者 > は独立に発展した概念ですのでいいんじゃないでしょうか? ??素朴に考えると実数が2本で複素数なので、複素数は実数を前提 とすると思うんだけど、「独立に発展した概念」ってどういう意味 ですか? > /// > > とか > > \ > > とかちょっとイマイチな候補しか思い浮かばないんですよねぇ... 「印し付きの/」というノリで、 /. ってのはどうでしょう。