Я только что столкнулся с таким поведением, которого не понимаю.
module M
def foo
"module_foo"
end
end
class C
def foo
"class_foo"
end
include M
end
puts C.new.foo
Почему C.new.foo
на самом деле возвращает class_foo
? Я был почти уверен, что этот метод должен быть переопределен методом в модуле. Другое дело, замена "class_foo"
на super
приводит к тому, что C.new.foo
возвращает `"module_foo"
. определен метод экземпляра класса. Не могли бы вы уточнить?