From: Shin-ichiro HARA <sinara / blade.nagaokaut.ac.jp>
Subject: [ruby-math:00523] Re: 5/2 == 2 or 2.5 について
Date: Sun, 05 Aug 2001 23:29:03 +0900

> 特に有理数体は整数環からつくった「商体」と呼ばれるもので、これ
> は割り切れないものを無理矢理割り切れたと考えた、不自然な人工物
> だと言えなくもない。つまり 5 / 2 == 2 の方が先にあって、5分の2
> というのは、人間が屁理屈をつけて勝手に作った想像上の数である、
> というわけです。実際、コンピュータ上の実装も難しいし。

僕は現状でいいと思いますが、有理数をそこまでやっつける必要は
ないでしょう ^^;;

確かに有理数は代数の台集合と思うとかなり巧妙な人工物ではある
けれど、お料理のときに2/3カップの出し汁を使ったりするわけで、
しかもそれは4人前の分量だったりするので、それを1人分にすると、
1/6カップにしないといけません。

量を表すための数としては有理数というか分数は非常にありふれた
ものでしょう。だからプログラミング言語が考え方を表現するもの
という意味ではむしろ積極的にサポートされるべきだと思います。

けれどもそれが Integer#/ として提供されるべきかどうかはまた
別の問題だ…という感じではないでしょうか。

また、余りについて議論し出すと、負の数という余りが本来定義さ
れていないとこで議論が及ばなくなるのでちょっとミスリードな気
がします。有理数を嫌うとすれば互換性と速度の問題だけではない
でしょうか。

もともとInteger#/はマニアックな動作をするので互換性は僕はそ
れほど重視しなくても良いのではないかと思うのだけど、速度を
遅くするのは許せないので // が現在の / の動作とかだったら、
まぁ納得できます。でも特に主張したいわけではありませんので、
現状保持に一票です。

-- Gotoken