From: Tadayoshi Funaba Date: 2008-09-02T22:57:09+09:00 Subject: [ruby-dev:36108] Re: Numeric#scalar? > > コンピュータ言語ではRealは伝統的に浮動小数点を表現する単語として > > 用いられてきたので整数のスーパークラスの名前にはふさわしくない > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/27923 なるほど。Real というクラスを導入するわけではないですが、僕は、real が 浮動小数点数だという意識はかなり薄いようですね。Pascal とか思い出します。 少し古臭い印象があります。 すでに言いましたが、Common Lisp、Scheme、Factor ではそういう意味ではつ かわれていません。 Python のβ版を見ていたのですが、numbers.py という ABC と呼ばれるフレー ムワークをつかった実装の、Fraction (fractions.py) という有理数ライブラ リをみつけました。Scheme に影響を受けているらしいですが、numbers.py で は、Number > Complex > Real > Rational > Integral という階層構造になっ ているようです。 ruby では、real を浮動小数点数の意味でつかった事はないと思います。ruby の Complex では real という語がすでに散々つかわていますが、それに対して 違和感がある、というような意見は見たことがありません。 以上のような例もあり、real だと混乱する、という程のものではないと思いま す。 real? だけでなく、いっそのこと float? (Common Lisp の floatp 相当) も採 用する手もあります。そうすればもっとハッキリします。 ただ、今回、real? を採用してもらうことが主眼ではないので、他に妥当なも のがあればそれでもいいし、疑問がもっともだと思うなら、少なくとも scalar? は公式のものとはしない、という決断をしてもらいたいと思います。