2013-02-23 2 views

답변

2

예! 위의 코드를 실행

class Object 
    def self.inherited(base) 
    puts "#{base} inherited from object" 
    end 
end 

class Animal 
end 

class Cat < Animal 
end 

는 다음을 인쇄 : 기본적으로

Animal inherited from object 
Cat inherited from object 

, 클래스가 그것에 정의 된 클래스에서 상속 정의 될 때마다 self.inherited 콜백이 실행됩니다. Object에 넣으세요. 이면 클래스입니다! (특별한 경우 예외가있을 수 있지만 지금은 생각할 수 없다.)

Ruby가 언어로서 얼마나 훌륭한 지에 대한 이유 때문에 이것을 수행 할 수는 있지만 (특히 프로덕션 사용을 목적으로하는 코드에서이 작업을 수행하는 것이 바람직한지에 대한 면책 ​​조항을 추가해야합니다. 확실하지 않아. 글쎄, 사실, 나는 확신한다. 나쁜 생각 일 것입니다.

+0

왜 downvote? – Russell

+0

귀하의 답변에 귀하의 최고 코멘트를 수정하십시오. – Linuxios

관련 문제