저는 Ruby 모듈에 임시 수정을 편리하게 적용 할 수있는 Ruby 라이브러리를 보았습니다 (저는 보석으로 패키지 된 적이 없었습니다). 그것은 당신이 바로 얻을 수 영구적으로 (코어) 모듈을 오염 특정 장소에서 수행 특별한 뭔가가 필요하지 않은 것을 확인했다임시적으로 Ruby 모듈을 수정하는 라이브러리
with(modifications) do
[interesting stuff requiring the modifications]
end
: 이러한 수정은처럼 '과'선언 내에서 실행 블록 내에서 활성화 될 것입니다.
내가 원하는 것의 구체적인 예로 : 'in'을 정의하고 싶습니다. Fixnum이라는의 방법은, 내부 DSL 사용자가 입력 할 수 있도록 :
if value.in? [12, 16, 27, 28]
[do something interesting]
end
은 내가 '와'방법으로 DSL 평가를 포장 것이고 나는이 함께 Fixnum이라는 오염해야하지 않을까요? 방법. 나는 이것을하기에는 너무 어렵지 않다는 것을 압니다. 그러나 어쩌면 어두운 구석이있을 것입니다. 그리고 저는이 도서관이이 목적에 매우 편리하다는 인상을 받았습니다.
내가 찾는이 라이브러리의 이름을 아는 사람이 있습니까? 나는 그것이 'plusplus'와 같은 것이었던 것을 기억하는 것처럼 보이지만, Google은 나에게 아무것도주지 않는다.
[GitHub 저장소 링크] (https://github.com/raganwald/rewrite)가 깨졌으며 저장소가 [raganwald의 GitHub 프로필] (https://github.com/raganwald)에 없습니다. 하지만 다시 쓰기에는 [RubyForge 페이지] (http://rewrite.rubyforge.org/)가 있으며 [RubyGem] (https://rubygems.org/gems/rewrite)이지만 마지막으로 업데이트되었습니다. 2008 년 7 월 18 일. –