이 패키지 (darksky
, 여기에있는 내용 : https://github.com/hrbrmstr/darksky)가 어떻게 작동하는지 이해하려고합니다.패키지 내의 함수가 동일한 하위 함수를 공유합니까?
aaa.R
및get-current-forecast.R
전자 (aaa.R
)을 하위 기능이 convert_time
라는 포함
IT는 R 폴더에이 두 개의 스크립트가 포함되어 있습니다. 이것은 후자 (get-current-forecast.R
)에 의해 호출되고 작동하는 것처럼 보이지만 은 get-current-forecast.R
에 가져 오거나/reffer되어 있지 않습니다.
어떻게 작동합니까? 모든 하위 기능을 동일한 패키지의 다른 기능에서 사용할 수 있습니까?
대화 형 세션에서 R 파일을 소싱하는 것과 패키지가 작동하지 않습니다. 패키지의 모든 .R 파일에 정의 된 모든 함수는 패키지의 네임 스페이스에 등록되며'namespace '라이브러리는'library (foo)'를 실행할 때 첨부됩니다. 따라서 패키지의 함수가 다른 함수를 호출 할 때 R은 해당 패키지의 네임 스페이스에서 해당 이름의 함수를 찾습니다. – joran
고마워, 나는 그걸 몰랐다. 따라서 기본적으로 패키지가로드 될 때마다 모든 하위 함수를 사용할 수 있습니다. 함수 내에서 하위 함수를 정의 할 때 좀 더 조심해야합니다. – Gautam
다른 함수 내에서 정의 된 함수는 다릅니다. R은 패키지 네임 스페이스에있는 것을보고 등록하지 않습니다. 그들은 enclosing 함수 내에서만 사용할 수 있습니다. – joran