From: Kazuhisa YANAGAWA Date: 1998-03-11T12:22:10+09:00 Subject: [ruby-dev:1672] Re: infinity 最近めっきりメールが増えました (^^; In message <199803110245.CAA00840@soleil.localnet.or.jp> shugo@po.aianet.ne.jp (Shugo Maeda) writes: > ||最後に数学的な無限大ですが, Inf/Nanとは別にNumericかRealの下にクラスを > ||導入して定数として実装するというのはどうでしょう? > | > |これってどういう時に使うんですか? > > という疑問が...。 「番兵」. だめ? アルゴリズムを簡単にしようとして無限大を使いたくなる ような場合っていうのもありますし. Ruby だったら nil でも使っときゃい いのは確かですが, 他の数値と単純に比較できるっていうのはちょっと魅力 的かも. # そもそもの話はこんなもの. 「改歴日無限大を改歴がない場合ととらえる # ことにする」っていうのはまさにこの例ですよね. # nil と数値を比較できたらもしかしたらなんかうれしいだろうか....やめ # た方が良さそうだ (^^; > 結局別のクラスで無限大を定義したとしてもkind_of?(Float)でなくなる > 以外はFloat::Infと同じような振舞いになるんですよね? ....ならなくてもいいような. Float の演算の結果として出てくる IEEE で 規定された Inf とは別に存在したって構いませんよね? NaN? そんなものは 例外をあげましょう. 数値じゃないんですから. # ただしそれはそれで頭のいたい問題をうむことになる.... Float のInf # と無限大との関係をどうつけるのか? 値が Float なだけで定義されているのは nil や true/false と同じスコー プっていうのがわりと使いやすいかとは思いますが, これもちょっと....と いう感じではあります. > 極限などを扱ったりするのはMathematicaなどの他の言語に任せるということで。 これはそうですね. # 「ええっ! ruby で数式処理システムを書くんじゃないんですか!」なんて # いうぼけはおもしろくない (^^; =========================================================================== 柳川 @ 情報システム学研究科 . 電気通信大学 katze@yuba.is.uec.ac.jp March 11, 1998 Every body's business is nobody's business.