aha*_*ala 10 r package search-path name-collision
当我加载包debug来调试带有zoo对象的脚本时,我遇到了麻烦:函数index来自zoo被debug包掩盖.我该怎么解开index?一般来说,如何处理这些名称冲突问题?我们只是不使用debug"动物园"包?
Lio*_*nry 11
您可以卸载具有屏蔽功能的软件包,然后重新加载它.它将在搜索路径中重新获得优先级:
unloadNamespace("zoo")
library("zoo")
Run Code Online (Sandbox Code Playgroud)
将来,如果要加载包,同时阻止其屏蔽其他函数,可以在搜索路径中使用任意大数字指定其位置:
library("debug", pos = .Machine$integer.max)
Run Code Online (Sandbox Code Playgroud)
Dir*_*tel 10
导出的符号始终可由::运营商识别:
zoo::index
Run Code Online (Sandbox Code Playgroud)
仍然可以使用:::(三重冒号)访问未在命名空间中声明的隐藏函数,例如
zoo:::.onLoad
Run Code Online (Sandbox Code Playgroud)
你可以看到它,即使它没有导出.