ネストされたモジュールを再度開くと、使用する構文によって結果が異なるのはなぜですか? たとえば、これは正常に機能します。
module A
module E
end
end
module A
module E
def E.e
end
end
end
でもこれは:
module A
module E
end
end
module A::E
def E.e
end
end
エラーが発生します:
reopen.rb:6:in `<module:E>': uninitialized constant A::E::E (NameError)
from reopen.rb:5:in `<main>'
(誰かがこれを指摘する前に、回避策はself
Ee を定義するときにモジュール名の代わりに使用することですが、それはこの投稿の実際のポイントではありません。)