Tengo un código que calcula la enésima raíz de un número. En este momento, ese método solo funciona en Fixnum, porque lo definí dentro de la clase Fixnum. Sería muy fácil simplemente hacerAgregue el mismo método a varias clases
class Float
#same code as was in Fixnum
end
pero eso parece innecesario. No tengo idea de cómo llamar dinámicamente a las clases. Intenté:
classes = [Fixnum, Float]
classes.each do |x|
x.instance_eval do
def root(pow)
return self ** (1/pow.to_f)
end
end
end
pero eso no funcionó. ¿Cómo hago esto? Nota: Después de la publicación, me di cuenta de que esto podría ser una mejor opción para los programadores.SE, ya que es teórico, así como basado en un solo problema. Siéntase libre de migrar en consecuencia ...
Nota que en el 'retorno' anterior no es necesario (y es no idiomático). – Phrogz