这是这个原始 SO 问题的延续:Using "::" instead of "module ..." for Ruby namespacing
在最初的 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 以及为什么第二个电话返回 123 吗?