문제

패키지를 로드했을 때 debug 스크립트를 디버깅하려면 zoo 문제가 발생했습니다.기능 index ~에서 zoo 가면을 쓴 debug 패키지.어떻게 마스크를 해제할 수 있나요? index?일반적으로 이러한 이름 충돌 문제를 어떻게 처리합니까?우리는 그냥 사용하지 않습니다 debug '동물원'이 포함된 패키지?

도움이 되었습니까?

해결책

내보낸 기호는 항상 :: 운영자:

zoo::index

네임스페이스에 선언되지 않은 숨겨진 함수는 다음을 사용하여 계속 액세스할 수 있습니다. ::: (삼중 콜론) 예를 들면 다음과 같습니다.

zoo:::.onLoad

내보내지 않아도 볼 수 있습니다.

다른 팁

마스킹된 기능이 있는 패키지를 언로드한 다음 다시 로드할 수 있습니다.검색 경로에서 우선 순위를 다시 얻습니다.

unloadNamespace("zoo")
library("zoo")

나중에 다른 기능을 마스킹하는 것을 방지하면서 패키지를 로드하려면 검색 경로에서 임의의 큰 숫자를 사용하여 해당 위치를 지정할 수 있습니다.

library("debug", pos = .Machine$integer.max)

사용자에게만 마스킹되지만 Zoo에는 마스킹되지 않으므로 Zoo 함수가 인덱스를 사용하려고 하면 여전히 자체 인덱스를 먼저 찾습니다.

Zoo에는 time.zoo 메소드도 있으므로 z가 Zoo 객체인 경우 index(z) 대신 time(z)를 사용할 수 있습니다.

마지막으로 언제든지 Zoo::index를 참조하여 Zoo에서 해당 항목을 얻을 수 있는지 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top