Method: Math::Fraction#initialize
- Defined in:
- lib/frac.rb
#initialize(float, maxden = 0x100) ⇒ Fraction
Returns a new instance of Fraction.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/frac.rb', line 32 def initialize(float, maxden = 0x100) if float.is_a?(String) @r = 0 sign = 1 float.split(' ', 2).each do |part| if (part.include?("/")) @r += sign * Rational(*(part.split('/', 2).map(&method(:Integer)))) else @r += Math.frac(part, maxden) sign = @r >= 0 ? 1 : -1 end end else @r = Math.frac(float, maxden) end end |