我有一些代码可以计算数字的第n个根。现在,该方法仅适用于Fixnum,因为我在Fixnum类中定义了它。这将是非常容易的只是做将相同的方法添加到多个类
class Float
#same code as was in Fixnum
end
但这似乎是不必要的。我不知道如何动态调用类。我试过了:
classes = [Fixnum, Float]
classes.each do |x|
x.instance_eval do
def root(pow)
return self ** (1/pow.to_f)
end
end
end
但是没有奏效。我该怎么做呢? 注意:发布后,我意识到这可能更适合Programmers.SE,因为它是理论上的,以及基于单一问题的。随意相应迁移...
注在上面的'返回'是没有必要的(是非惯用语)。 – Phrogz