新手问题 [问题] 我想打印'AAA', 为何打印的是 ‘BBB’ ?

sevk · 2015年01月13日 · 最后由 sevk 回复于 2015年01月13日 · 1993 次阅读
module Round1
  def round(i=0)
    p ' AAA '
    (self.to_f * 10**i ).to_i.to_f / (10**i)
  end
end

class Float
  def round(i=0)
    p ' BBB '
    (self.to_f * 10**i ).to_i.to_f / (10**i)
  end
  include Round1
  extend Round1
end

f = 1.111111
p f.round 1

放在 module 里为啥不打印?

你要用 prepend 而不是 include

#1 楼 @luikore 哦,学习了,很多教程里面都没写 perpend 的吧?

#2 楼 @sevk 嗯,它们都 old 了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号