こんばんは、ZnZです。

以下のように複数のmoduleをincludeするとsuperで後の方のmoduleの
initializeしか呼ばれないようですが、M1のinitializeが呼ばれる
ようにするにはどうするのでしょうか?

module M1
  def initialize(s)
    @s1 = s
  end

  def p1
    p @s1
  end
end

module M2
  def initialize(s)
    @s2 = s
  end

  def p2
    p @s2
  end
end

class C
  include M1
  include M2

  def initialize(s)
    super(s)
  end
end

a = C.new("a")
a.p1 # nil
a.p2 # "a"

--- 
ZnZ(ゼット エヌ ゼット)
西山和広(Kazuhiro Nishiyama)
mailto:nishiyama / mx1.tiki.ne.jp