В дальнейшем A
наследует F
, который наследует E
, поэтому вызов initialize
для экземпляра A
вызывает A#initialize
, который имеет приоритет над E#initialize
и F#initialize
.
module E
def initialize(e)
@e = e
end
def e
@e
end
end
module F
def initialize(f)
@f = f
end
def f
@f
end
end
class A
include E
include F
def initialize(e, f)
# ...
end
end
Мне нужно сослаться на E#initialize
и F#initialize
в теле метода A#initialize
, передавая e
и f
соответственно в качестве аргумента, чтобы я получил такой результат:
a = A.new("foo", "bar")
a.e # => "foo"
a.f # => "bar"
Есть ли способ обратиться к этим методам?