IRB는 시행 착오 스타일 디버깅을위한 도구로 매우 유용합니다. 여기서 문제가 어디서 발생했는지는 알 수 없지만 IRB의 REPL 특성을 활용하여 잠재적 인 방법 목록을 신속하게 반복 할 수 있습니다 문제를 재생산하고IRB에서 주변을 파고 들기/디버깅하기. 원숭이 패치 방법, 그런 다음 변경 사항을 "실행 취소", IRB를 종료하지 않고?
때때로로드 된 보석에 속한 클래스를 다시 열고 디버그 출력을 메서드에 추가하거나 메서드를 완전히 재정의하기로 결정했습니다. 일단 완료되면, IRB를 종료하고 다시 시작하지 않고 ("현재의 접근 방식") 클래스에 "un-monkey patch"라는 쉬운 방법이 있습니까?
때때로 변화는 되돌아갑니다 '/ file.rb에/경로'부하를 수행하여. 하지만 보석이 이미 원숭이 패치를 한 경우에는 irb를 다시 시작해야합니다. 그렇지 않으면 원본 구현보다는 변경 사항을 Monkeypatch 할 수 있습니다. – Augusto
alias_method 또는 이와 유사한 것을 사용하면 실제 메소드를 덮어 쓰는 대신에 메소드를 "unalias"하는 것만 큼 쉬운 것인지 궁금합니다. – d11wtq
필자는이 기능이 루비 2에 있다고 생각한다. ** 나는 정말로 ** 반드시 커널, 모듈 및 객체에 대한 메소드를 추가/재정의하는 많은 프레임 워크가 필요하다고 생각한다. – Augusto