新井です。お久しぶりです。

ちょっと、Numeric のマニュアルを修正していて、Numeric#div の
おかしな仕様?に気がついたので質問です。

    p -10.div(3)        # => -4
    p -10.0.div(3)      # => -3

このように、a.div(b) に対して、a または b のどちらかが負の場
合にFixnum#div と Float#div で結果が異なります。

Numeric#div は除算した商を整数に丸めた結果を返すという仕様
なのだと思いますが、

    p -10.quo(3)        # => -3.33333333333333
    p -10.0.quo(3)      # => -3.33333333333333

という結果だけから見ると

    Fixnum#div は、-10.quo(3).floor
    Float#div は、-10.0.quo(3).truncate

を返しているようです。

Numeric#div の仕様はどう記述されるべきでしょうか?

--
新井康司 (Koji Arai)