下面的代码工作正常:如何使用Ruby模块?
class Float
def round
self.format.to_f
end
def format
"%.2f" % self
end
end
然而,似乎不好的做法,猴补丁就像漂浮的一类,因为其他人都在做同样的事情,它会导致问题。
然后我安装了simplecov并且问题开始了:simplecov monkeypatches的方法相同。
所以我创建了一个模块并将它混合到Float中。
module MyModule
def round
self.format.to_f
end
def format
"%.2f" % self
end
end
我猜这也适用。但问题是simplecov似乎覆盖了上面的混合方法。
那么,扩展内置类的正确方法是什么,以便它们不会与其他人的代码发生冲突?
的Ruby 1.9.3
IMO,你不应该在'Float'类中做这件事,不管它能够做到'100.76572324.round'有多好。特别是,'format'是一个介绍问题,不应该在'Float'上定义。 [另见](http://stackoverflow.com/a/238921/382818) – Zabba