我有许多模块,当它们被包含在内时,我希望它们调用一个“包含”函数。这个函数对所有模块都是一样的。因此我希望能够在一个包含这个函数模块并让所有这些子模块都包含它..这是一个人为的例子,但我需要类似....
module Humanable
def self.extended(klass)
klass.instance_eval do
define_method :included do |base|
puts 'I was just included into the Person Class'
end
end
end
end
module Personable
extend Human
end
class Person
include Personable
end
当 Person 包含 Personable 时,它在哪里放置 Humanable 模块中的字符串。这不起作用,但希望你明白我该如何实现这一点?