けいじゅ@日本ラショナルソフトウェアです.

主にごとけんさんへ.

RationalをPrecision対応しようと思っていますが、以下のような感じでよろしい?

##-- ここから.
class Rational
  def Rational.induced_from(other)
    case other
    when Rational
      self
    when Integer
      Rational(other, 1)
    when Float
      o = other
      base = 1
      while o != o.floor
	base *= 10
	o *= 10
      end
      Rational(o.floor, base)
    else
      super
    end
  end

  def prec(other_class)
    if other_class <= Integer
      to_i
    elsif other_class == Float
      to_f
    elsif other_class == Rational
      self
    else
      super
    end
  end
end


__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---