Acabo de enfrentar este comportamiento que realmente no entiendo.Ruby mixin override método de aclaración
module M
def foo
"module_foo"
end
end
class C
def foo
"class_foo"
end
include M
end
puts C.new.foo
¿Por qué C.new.foo
vuelven en realidad class_foo
? Estaba bastante seguro de que el método debe ser anulado por el que está en el módulo. Otra cosa, en sustitución de "class_foo"
con super
hace C.new.foo
retorno ` "module_foo"
que en realidad se parece de alguna manera está incluido el módulo antes de definir el método de instancia de clase. ¿Podrías aclararlo por favor?
heh, tan obvio. ¡¡Gracias!! –