R:我们是否有 ?base::getNamespace 的 devtools 版本

R: do we have a devtools version of ?base::getNamespace

提问人:tingtingzhan 提问时间:5/9/2023 最后编辑:tingtingzhan 更新时间:5/10/2023 访问量:28

问:

对于已安装的 R 包,我们有

base::getNamespace('stats')
base::getNamespace('MASS')

对于我们自己的包(您通过加载)的开发版本,我们是否有类似目的的功能?我们知道这是行不通的devtools::load_all(".")

base::getNamespace('.') # Error: there is no package called ‘.’

编辑:感谢评论中的每个人!以下是讨论摘要

getNamespace(normalizePath('.')) # error
getNamespace(pkgload::pkg_name('.')) # works!
getNamespace(basename(normalizePath('.'))) # works, if directory name is the same as package name
R 命名空间 DevTools

评论

2赞 Dirk Eddelbuettel 5/9/2023
我想你可能会混淆两个概念。在点中,它不是 R 符号,而是您开发的当前目录的标准占位符。然后,包名称由 提供。参数中的 where is 是包名称。或者也许我误解了你的问题。load_all(".")DESCRIPTIONgetNamespace()
0赞 MrFlick 5/9/2023
您应该能够在运行 .你到底想完成什么?base::getNamespace("your-package-name-here")load_all
1赞 moodymudskipper 5/10/2023
你在找吗?如果您使用 {devtools},您还将安装 {pkgload},并将从描述中获取包的名称(也可以)getNamespace(pkgload::pkg_name())pkgload::pkg_name()read.dcf("DESCRIPTION")[, "Package"]
0赞 tingtingzhan 5/10/2023
谢谢大家!我已将解决方案放在原始帖子中。

答: 暂无答案