2012-12-07 2 views
1

예를 들어 'puts'메소드를 대체하고 'puts'를 두 번 호출하는 함수로 바꿀 수 있습니까? 예를 들어루비 대체 클래스 메소드

:

class IO 
    def puts str 
    puts str 
    puts str 
    end 
end 

나는이 예제 바보 알고하지만 난 뭔가 다른 것이 필요합니다. 기본적으로, 나는 함수를 오버라이드하고 싶다. 그러나 오버 라이딩 함수가 오버라이드 된 원래의 함수를 호출하도록하고 싶다.

+0

서브 클래 싱이나 인스턴스의 메서드에서 혼합하는 대신 정의 된 것과 동일한 클래스에서이 값을 재정의 하시겠습니까? – Phrogz

+0

가능한 중복 [원숭이가 메서드를 패치 할 때 새로운 구현에서 재정의 된 메서드를 호출 할 수 있습니까?] (http://stackoverflow.com/questions/4470108/when-monkey-patching-a-method-can-you-call 오버라이드 된 방법 - 새로운 것에서 - i) –

답변

5
class IO 

    alias puts_orig puts 
    def puts str 
    puts_orig str 
    puts_orig str 
    end 
end