From: Shin-ichiro HARA Date: 2008-02-19T12:44:29+09:00 Subject: [ruby-dev:33853] Re: spec of Rational 原です。 Tadayoshi Funaba さんは書きました: >> nurat-0.0.3 を元に始めたいと思います。 > > よろしくお願いします。 nurat-0.0.4 を元にすることにしました。 >> Rational(1, 1).integer? >> >> は true か false か?false だとすると、分母が 1 であるとき true >> になる述語が欲しい気がするのですが、そのメソッド名は何が良いか? > > 0.0.zero? #=> true > 0.0.integer? #=> false > > いうことで、クラス的な問いと思いますけど、数学的な前提を置いて > rational? が integer を含むとしても integer? が rational を含むのは厳 > しくないですか。 そうですね。float? とか無いことを考えると、integer? は、Fixnum と Bignum をまとめることに意義があるみたいですね。 > 個人的には denominator == 1 で判るし、とくに rational に必要というわけ > でもないと思うので、integer? と混同しないような、いい名前があれば > Numeric として何か別に用意されていてもいいような気がします。 integral? で、どうでしょう。Numeric に用意するのではなくて、 Integer と Rational に用意すれば十分かも。 > 個人的には denominator == 1 で判るし、とくに rational に必要というわけ > でもないと思うので、 r.integral? ? r.to_i : r とか書けるし、便利じゃないかな。