我想改變一個浮點實例的自我價值。Ruby和修改自己的Float實例
我有以下方法:
class Float
def round_by(precision)
(self * 10 ** precision).round.to_f/10 ** precision
end
end
而且我想補充的round_by!方法將會修改自己的價值。
class Float
def round_by!(precision)
self = self.round_by(precision)
end
end
但是我得到一個錯誤,說我不能改變自我的價值。
有什麼想法?
你能想象如果調用`x = 13.2; x.round!`導致應用程序中所有`13.2`的值都變爲`13`?這將是多麼不幸。 – Phrogz 2011-01-10 01:43:38