루비에서 일부 보석은 "전역 네임 스페이스를 오염"하도록 선택합니다."전역 네임 스페이스를 오염시키는"것은 무엇을 의미합니까?
이것은 무엇을 의미합니까?
어디에서 어떻게되는지 알 수 있습니까?
왜 보석을 사용해야합니까?
글로벌 네임 스페이스와 충돌하는 두 개의 보석에 직면했을 때 내가 "격리"할 때 어떤 단점이 있습니까? 예를 들어
: 나는 모두 전역 네임 스페이스를 오염 두 개의 보석을 사용하고
: pry 및 gli 그래서 나는 더 이상 원하는 내 binding.pry
의를 배치 할 수 아니에요.
한 solution
는 모듈의 전체 CLI를 래핑하는 것입니다 :module Wrapper
include GLI::App
extend self
program_desc "..."
...
exit run ARGV
end
지금 내가 원하는 목적지까지 내
binding.pry
의를 사용할 수 있어요.
왜 작동 했습니까?
"gli 격리"를 선택하면 어떤 상쇄 관계가 있습니까? 또는 "GLI::App
모듈을 분리합니까?"
왜 두 가지가 그리 좋지 않은데 GLI는 글로벌 네임 스페이스를 오염 시키려고합니까? – mbigras
'pry'와 같이 핀을 잡아 당기면'irb'와 같이 기본적으로 Ruby를 제어합니다. 잘 동작 할 것으로 기대되지 않습니다. 조건부로 실행해야하는 경우, 귀하의 접근 방식은 대개 유효합니다. – tadman