0
Например, мы имеем:Почему метод не переопределяется?
module X
def test
"X"
end
end
module Y
def test
"Y"
end
end
class L
include X
end
L.new.test #=> "X"
class L
include Y
end
L.new.test #=> "Y"
class L
include X
end
L.new.test #=> "Y"
Вот странная вещь. Почему последнее включение не изменило метод на метод X?
Но почему он вызывает обратный вызов модуля «включено» каждый раз, когда модуль входит в класс? – megas
Посмотрите на источник 'Module # include'. Сначала он вызывает 'append_features', а затем, независимо от того, действительно ли он был включен в него или нет, вызывает« включенный »hook. –