まつもと ゆきひろです

In message "[ruby-list:35605] Re: Rational#to_int ← String#center"
    on 02/07/22, Hiromasa KONISHI <Konishi / raax.co.jp> writes:

|>4/3は「3ぶんの4」であって1ではない以上 to_int を定義しておく
|>のは変だと思います。to_intってのはその値は整数として意味があ
|>るという意味で、整数に変換するという意味ではないので。
|>
|>むしろ、mathnでも意味の変化しない「整除」の演算子(or メソッ
|>ド)を明示的に用意するのが良いんだろうなと思います。
|Cライブラリのfloorとかceilをメソッドとして定義するということでしょうか?

a op b の結果がaやbの型が整数でなくても整数となる演算子(また
はメソッド)があったらいいなという意味です。

|まつもとさんの感覚からすると、Rationalのto_iは2/1や10/2のような、きちっ
|と整数になるもの以外は例外を起こすべきと考えてよろしいのでしょうか?

to_iにはそんな制約はありません。to_intは整数に自然に対応する
もの以外は持つべきではないという意味です。