繁体   English   中英

在未从其他软件包导入的软件包中寻找功能

[英]Seeking Functions in a Package not imported from other packages

我要获取在包中定义并导出的功能列表,而不是从其他包导入的功能列表吗?

下列解决方案很好,但列表也可以重新导出功能:在包中查找功能

在您链接的问题的答案之一中提到了getNamespaceExports() 幸运的是,有一个伴侣getNamespaceImports() 然后我们可以找到两者之间的setdiff() 例如:

devtools_exports <- getNamespaceExports("devtools")
devtools_imports <- getNamespaceImports("devtools")
devtools_exported_not_imported <- setdiff(devtools_exports, devtools_imports)
"install_github" %in% devtools_exports
# [1] TRUE
"install_github" %in% devtools_exported_not_imported # comes from remotes
# [1] FALSE

实际上,我发现了另一个似乎很好用的解决方案:

unclass(lsf.str(envir = asNamespace('myPackage')))

好处是我没有得到这些系统变量:

 "system.file"          "library.dynam.unload" ".__global__"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM