簡體   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