4
module Foo
def self.bar
"Module.bar"
end
end
def Foo
"main.Foo"
end
puts Foo # Foo
puts Foo.bar # Module.bar
puts Foo() # main.Foo
puts Foo.class # Module
왜 모듈 Foo
과 동일한 공간에 공존하는 방법 Foo
수 있습니까? 왜 Foo
메서드의 정의가 모듈을 덮어 쓰지 않습니까?함께 루비 방법 명명 기존 상수
이 질문은 일반화해야합니다 : 기존 상수 ** 또는 로컬 변수 **와 동일한 메서드 이름을 사용할 수있는 이유는 무엇입니까? – sawa