Usted puede definir dinámicamente un método de clase para una clase de este modo:Extracción/undefining un método de clase
class Foo
end
bar = %q{def bar() "bar!" end}
Foo.instance_eval(bar)
Pero, ¿cómo hacer lo contrario: remove/undefine un método de clase? Sospecho que los métodos remove_method
y undef_method
del Módulo podrían usarse para este propósito, pero todos los ejemplos que he visto después de buscar en Google durante horas han sido para eliminar/undefinir los métodos de instancia , no los métodos de clase. O tal vez hay una sintaxis que puede pasar al instance_eval
para hacer esto también.
Gracias de antemano.
bingo. Gracias Wayne! –
Hubiera pensado que sería posible sin usar Eigenclass, al menos en 1.9. –
@Andrew, Tal vez. Por desgracia, no lo sé. –