루비에서는 '하위'모듈이 '상위'모듈의 속성을 상속하는 올바른 방법은 무엇입니까? 하나의 모듈에 속성을 정의한 다음 해당 모듈을 확장하고 하위 모듈을 클래스에 혼합하면 하위 모듈에서 속성에 액세스 할 수 있어야합니다. 그러나 행운을 얻지 못하는 것 같습니다 ...다른 모듈의 모듈 attr_accessor
module A
attr_accessor :foo
end
module B
extend A
def not_worky
p "#{foo}"
end
end
class C
include B
end
class D
include A
end
irb(main):027:0* d = D.new
irb(main):028:0> d.foo=> nil
irb(main):033:0* c = C.new
irb(main):034:0> c.foo
NoMethodError: undefined method `foo' for #<C:0x553853eb>
irb(main):038:0> c.not_worky
NameError: undefined local variable or method `foo' for #<C:0x553853eb>