【问题标题】:How can I hide the documentation of helper functions?如何隐藏辅助函数的文档?
【发布时间】:2018-11-02 17:16:33
【问题描述】:

我正在维护一个包,其中包含许多使用 .rd 文件记录的辅助函数。由于它们没有被导出,因此用户不容易访问它们 - 这很好。但是,它们仍然显示在包帮助文件的索引中。

有没有办法从索引中删除文档,这样它就不会混乱,但仍然可以通过help 访问?

【问题讨论】:

  • 您检查过this 的问题吗?有一条评论如何隐藏帮助函数,但不完全确定它是否是您要查找的内容。
  • @drmariod 不完全是。我的问题不在于函数本身的可见性,而是我希望它们具有标准文档,但不会出现在索引中。
  • 如果您使用的是 roxygen2,您可以使用 ## 而不是 #' 并发表评论。
  • @TylerRinker 我希望有办法仍然能够使用help 访问文档。然而,这并不重要,我可能只是让索引变得杂乱无章,或者接受你的建议。

标签: r


【解决方案1】:

您可以在 Rd 文件中添加一个名为 keywords 的字段。大多数关键字除了帮助您搜索函数外没有任何作用,但有一个明显的例外:internal。使用 internal 关键字标记函数会将其从索引中删除。根据roxygen2 vignette

@keywords keyword1 keyword2 ... 添加标准化关键字。关键字是可选的,但如果存在,则必须从关键字小插图中复制的预定义列表中获取。关键字不是很有用,@keywords internal 除外。使用 internal 关键字会从文档索引中删除相关 .Rd 文件中的所有函数,并禁用它们的一些自动化测试。一个常见的用例是导出一个函数(使用@export)并将其标记为内部函数。这样,高级用户可以访问新用户如果在索引中看到它会感到困惑的功能。

@keywords internal 添加到 roxygen cmets 将得到所需的结果。

【讨论】:

  • 在你的最后一句话中应该是@keywords,而不是@keyword。 (另外,不能提供少于 6 个字符的编辑是怎么回事?很多时候,程序中少于 6 个字符的错误会导致灾难性的后果。)
【解决方案2】:

对于遇到 @keywords internal 无法正常工作的人来说有点困难;

我错误地将??PACKAGENAMEhelp(package="PACKAGENAME") 混淆了。正因为如此,我很困惑为什么我仍然看到内部文档。 ?? 加载你的包的所有文档,不一定是用户帮助索引。

非常基本的错误,但你去吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 2013-04-15
    • 2019-03-04
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多