ネストされたモジュールを再オープンするのは、使用する構文によって結果が異なるのはなぜですか?たとえば、これは正常に動作します:Rubyでネストされたモジュール異常を再オープンしました
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を定義するときのモジュール名ですが、実際にはこの投稿のポイントではありません)
これはどういう意味ですか? –
フェアポイント - 言い換えられた。興味深いもの: –