2014-11-25 5 views

답변

6

: owner이 모듈을 반환, 방법은 (나중에 어딘가 클래스 계층 구조로 혼합) 모듈에 구현 된 경우 :

class A 
    def method_missing(*args) 
    # do something 
    end 
end 
method = A.instance_method(:method_missing) 
method.owner 
# => A 

주 .

+0

@ ZhangKaiYu 도움이 되었습니까? –

+0

좋은 답변입니다. 내가 틀렸다고 정정 하긴하지만,'# '을 반환하는'method'로 멈출 수 있다고 생각합니다 (단지 디버깅을위한 것으로 가정하고 코드 자체에 반환 된 클래스는 필요 없습니다). –

+0

아니요, 'A.method (: method_missing)'은'A # method_missing' 대신'BasicObject # method_missing'을 나타내는'Method' 인스턴스를 반환합니다. 왜냐하면'A # method_missing'이 클래스 메소드가 아닌 인스턴스 메소드로 구현 되었기 때문입니다. –