From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-03-12T00:39:43+09:00 Subject: [ruby-dev:1701] raional patch[Re: infinity ] けいじゅ@日本ラショナルソフトウェアです. 忘れていました. In [ruby-dev :01661 ] the message: "[ruby-dev:1661] Re: infinity ", on Mar/11 01:10(JST) Shugo Maeda writes: >前田です。 >|最近, ruby-listでもレベルの高い話しが多くてついていけない(^^;;; >ですね、気づいたらなるべく早目にruby-devに移るようにしましょう(^^; ですね. >それで、require 'mathn'すると1 / 0でその無限大定数を返すと良さそうですね。 ># あれ、現状だと、 ># rbc0> 1 / 0 ># ># となってしまいますね(^^; (^^;;; 全然気づきませんでした. 以下がパッチです. retrieving revision 1.1 diff -u -r1.1 rational.rb --- rational.rb 1997/07/03 04:43:31 1.1 +++ rational.rb 1998/03/11 14:09:04 @@ -1,8 +1,8 @@ # # rational.rb - # $Release Version: 0.5 $ -# $Revision: 1.1 $ -# $Date: 1997/07/03 04:43:31 $ +# $Revision: 1.3 $ +# $Date: 1998/03/11 14:09:03 $ # by Keiju ISHITSUKA(SHL Japan Inc.) # # -- @@ -44,7 +44,11 @@ end class Rational < Numeric + @RCS_ID='-$Id: rational.rb,v 1.3 1998/03/11 14:09:03 keiju Exp keiju $-' + def Rational.reduce(num, den = 1) + raise ZeroDivisionError, "denometor is 0" if den == 0 + if den < 0 num = -num den = -den @@ -128,6 +132,7 @@ den = @denominator * a.numerator Rational(num, den) elsif a.kind_of?(Integer) + raise ZeroDivisionError, "devided by 0" if a == 0 self / Rational.new!(a, 1) elsif a.kind_of?(Float) Float(self) / a __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---