如何解决在 R 包中创建私有辅助函数
我目前正在 github 上共同开发一个开源包,最终目标是
推到 CRAN。我们已经编写了许多函数,所有这些函数都记录在
roxygen2
和所有带有 @export
标记,以便它们填充在 NAMESPACE
中。
例如一个函数是 pkgname::foo()
,一个由 foo
调用的辅助函数
将是 pkgname::foo_helper()
。 pkgname::foo_helper()
纯粹是内部的,即
它的唯一目的是帮助在 pkgname::foo()
中进行一些计算,而不是
我们包的重点,但 pkgname::foo()
是。
在这个例子中,我们想转换 pkgname::foo_helper()
函数
为“私有”,由以下标准定义:
- 默认情况下,
pkgname::foo_helper()
不应出现在 pkgdown>References 部分,只应出现pkgname::foo()
-
pkgname::foo_helper()
函数应该在 github 上完全可见,即不隐藏 -
pkgname::foo_helper()
函数应该可供R
用户通过运行pkgname::foo_helper()
,如果他们想直接在R
中使用它。
在上述意义上使 pkgname::foo_helper()
成为“私有”的最佳方式是什么。
另外,如果我们想将 pkgname::foo_helper()
隐藏在 R
中(这样用户就不会被这个助手分散注意力),
从这个意义上说,我们将如何更改以将它们设为私有?
我假设添加一个“。”在函数名的开头实现了这一点,但感觉会有
更重要的是。我担心删除 roxygen 中的 @export
标签的影响,
特别是如果其他内部包函数依赖于这些辅助函数。
对此的任何帮助表示赞赏。
注意:这个问题是cross-posted here,但在多次查看后没有收到任何回复,因此在这里发布以提高知名度。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。