クラス継承とともにモジュールが含まれている場合、ルックパスは「スーパー」を呼び出す場所をどのように決定しますか。私の推測では、デフォルトではモジュールの初期化メソッドが使用されます。これは正しいです?もしそうなら、代わりに継承されたクラスで初期化メソッドを使用するようにコードに明示的に指示するにはどうすればよいでしょうか?
以下は一例です。
Employee クラスが Subject ではなく Other から initialize を継承するようにします。
module Subject
def initialize
@observers = []
end
end
class Other
def initialize
@other_stuff = []
end
end
class Employee < Other
include Subject
attr_reader :name
def initialize(name)
super()
end
end