これは、元の SO の質問の続きです: Ruby ネームスペースに "::" の代わりに "module ..." を使用する
元のSOの質問では、ここに提示されたシナリオがありますが、私はまだ理解に苦しんでいます:
FOO = 123
module Foo
FOO = 555
end
module Foo
class Bar
def baz
puts FOO
end
end
end
class Foo::Bar
def glorf
puts FOO
end
end
puts Foo::Bar.new.baz # -> 555
puts Foo::Bar.new.glorf # -> 123
最初の呼び出しが 555 を返す理由と、2 番目の呼び出しが 123 を返す理由を誰かが説明できますか?