Ruby BigDecimal method error -


i created log_slow alias, , not working:

require 'bigdecimal' require 'bigdecimal/math' require 'bigdecimal/util'  module bigmath   alias :log :log_slow   def log(x, prec)     if x <= 0 || prec <= 0       raise argumenterror, "zero or negative argument log"     end     return x if x.infinite? || x.nan?     sign, fraction, power, exponent = x.split     fraction = bigdecimal(".#{fraction}")     power = power.to_s.to_d     log_slow(fraction, prec) + (log_slow(power, prec) * exponent)   end end  include bigmath number = bigdecimal("1234.5678") math.log(number) prec = 50 puts bigmath.log_slow(number, prec).round(prec).to_s("f") puts bigmath.log(number, prec).round(prec).to_s("f") puts bigmath.log(number ** 1000, prec).round(prec).to_s("f") 

i error:

in `<module:bigmath>': undefined method `log_slow' module `bigmath' (nameerror) 

your alias should escape error

module bigmath      def log(x, prec)       #your code     end      alias log_slow log end 

format:

alias new_name old_name 

Comments