From: "ko1 (Koichi Sasada)" Date: 2013-02-26T09:48:48+09:00 Subject: [ruby-dev:47115] [ruby-trunk - Feature #5521] Numeric#rational?、Numeric#complex?、Numeric#float? の追加 Issue #5521 has been updated by ko1 (Koichi Sasada). Assignee set to matz (Yukihiro Matsumoto) 宙ぶらりんになっているようなので、まつもとさんにアサインしておきます。 ご検討下さい。 (ふなばさんか、mrkn のほうが良かった?) ---------------------------------------- Feature #5521: Numeric#rational?、Numeric#complex?、Numeric#float? の追加 https://bugs.ruby-lang.org/issues/5521#change-37020 Author: tadf (tadayoshi funaba) Status: Open Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: Next Major 今のところ Common Lisp の rationalp などに似た仕様を考えています。 rational? は Integer や Rational に対しても真になります。float? は組み 込みに関しては Float だけですが、それ以外の実装についてもあればそれも真 になります。complex? も同様です。 別の考えとして、Scheme のような述語に仕様変更する考えもあります。その場 合、クラスを見るのではなく、integer? は、1、1.0、Rational(1) のいずれに 対しても真を返す事になります。 いずれにしても特定のクラスと一対一対応するものは意図していません。 実際に、complex の実装でも必要になっています。今は仕方がないので胡麻化 しに近いもので、もうひとつ別の複素数があったり、別の浮動小数点数実装が あった場合に対応できません。 -- http://bugs.ruby-lang.org/