まつもと ゆきひろです

In message "[ruby-list:35607] Re: Rational#to_int ← String#center"
    on 02/07/22, Yukihiro Matsumoto <matz / ruby-lang.org> writes:

|| * Float#to_int、Rational#to_int で処理すべきではないか? という意見。
|
|Floatにto_intを定義してそれを使うくらいだったら、配列のイン
|デックスにFloatを使えなくすることを選びます。

間違いを認めるのは難しいことですが、この後しばらく考えてみた
結果、(文字列を暗黙に整数に変換するのをやめたのと違って)数に
属するオブジェクトは整数を要求されたときには暗黙に変換しても
構わないのではと思うようになりました。

ということは、

  class Numeric
    def to_int
      to_i
    end
  end

とした上でrb_num2long()のFloat特別扱いをなくすということです
ね。結果としてRationalをインデックスに使えない件も解消すると
思います。

まあ、私の予想以上に影響が大きいかもしれませんが、とりあえず
手元で試してみます。

                                まつもと ゆきひろ /:|)