From: Yukihiro Matsumoto Date: 2011-11-01T04:04:46+09:00 Subject: [ruby-dev:44748] Re: [ruby-trunk - Feature #5521][Open] Numeric#rational?、Numeric#complex?、Numeric#float? の追加 まつもと ゆきひろです In message "Re: [ruby-dev:44720] [ruby-trunk - Feature #5521][Open] Numeric#rational?、Numeric#complex?、Numeric#float? の追加" on Mon, 31 Oct 2011 20:50:27 +0900, tadayoshi funaba writes: |今のところ Common Lisp の rationalp などに似た仕様を考えています。 |rational? は Integer や Rational に対しても真になります。float? は組み |込みに関しては Float だけですが、それ以外の実装についてもあればそれも真 |になります。complex? も同様です。 | |別の考えとして、Scheme のような述語に仕様変更する考えもあります。その場 |合、クラスを見るのではなく、integer? は、1、1.0、Rational(1) のいずれに |対しても真を返す事になります。 | |いずれにしても特定のクラスと一対一対応するものは意図していません。 特定のクラスと一対一対応するのでないのであれば意味があるよう な気がします。この場合 1.0 に対して integer? が真を返すので あれば、1.0にかなり近い値、たとえば 1.0 / 3.0 * 3.0 はどうな んでしょうね。 まつもと ゆきひろ /:|)