From: "K.Kodama" Date: 2000-04-19T09:20:37+09:00 Subject: [ruby-list:21984] Re: Polynomial.rb and floating point exception 児玉 です. From: kjana@os.xaxon.ne.jp (YANAGAWA Kazuhisa) Subject: [ruby-list:21976] Re: Polynomial.rb and floating point exception Date: Tue, 18 Apr 2000 21:45:58 +0900 Message-ID: <200004181245.VAA21301@mail3.os.xaxon.ne.jp> ..... > そんな時には Object.new.何だったら適当に,polynimial.rb での計算上必 > 要なメソッドを付け足してやれます. > > # 本当に区別できさえすればいいのなら nil でもいいけど,多分違う? > > > Infinity = Object.new > > class << Infinity > include Comparable > def <=>(o); 1; end > end > > とかできるし. .... なるほど, class を使う方が 1.0/0.0 の転用よりも気分が良いですね. こんな感じで, Infinity と -Infinity が使えるようにして どうでしょうか? # ruby-math 向きかな? --------ここから class InfinityClass include Comparable def initialize; end Inf=InfinityClass.new Infm=InfinityClass.new undef initialize def <=>(o) if self===Inf; if o===Inf; return 0;else return 1;end elsif self===Infm; if o===Infm; return 0;else return -1;end end end def -@ if self==Inf; return Infm; elsif self==Infm;return Inf; end; end end Infinity=InfinityClass::Inf ----ここまで -- K.Kodama(kodama@kobe-kosen.ac.jp)