0
나는 방법이 정의가 최상위 수준에 수행 될 때 루비에 정의 된 위치를보고 확인하고 있었고, 그 결과는 놀라운 :main에서 메소드를 정의하는 것이 왜 Object 및 main.singleton_class에 정의되어 있습니까?
def foo; end
singleton_class != Object # => true
self.class == Object # => true
m1 = singleton_class.instance_method :foo
# => #<UnboundMethod: Object#foo>
m2 = Object.instance_method :foo
# => #<UnboundMethod: Object#foo>
m1 == m2 # => true
그것은 foo
동시에 두 클래스에 정의되어 보인다! 설명이 있습니까?