先看下面的示例代码:
module First
def initialize
puts "Second init"
end
def first
puts "first"
end
end
module Second
def initialize
puts "Second init"
end
def second
puts "second"
end
end
class MyClass
include First
include Second
def initialize
super()
end
end
c = MyClass.new
c.first
c.second
该程序的输出是:
Second init
first
second
从输出中,我们可以看到它MyClass很好地包含First和Second模块,因为它同时具有first()和second()方法。
在MyClass构造函数中,我尝试使用 初始化两个包含的模块super(),但似乎只Second调用了构造函数。
如何初始化所有包含的模块?