class NumberMuncher::Token::Fraction
Public Class Methods
regex()
click to toggle source
# File lib/number_muncher/token/fraction.rb, line 4 def self.regex %r{ (?<sign>-)? (?:(?<whole>#{Int.regex})(?:-|\s*))?? ( (?<numerator>\d+)\s*/\s*(?<denominator>\d+) | (?<unicode>#{Unicode::REGEX}) ) }x end
Public Instance Methods
fraction?()
click to toggle source
# File lib/number_muncher/token/fraction.rb, line 16 def fraction? true end
Private Instance Methods
parse()
click to toggle source
# File lib/number_muncher/token/fraction.rb, line 22 def parse sign, whole, numerator, denominator, unicode = captures r = unicode ? Unicode::MAPPING[unicode] : Rational(numerator, denominator) r += Int.new(whole).to_r if whole r *= -1 if sign r end