【问题标题】:Can I run package.skeleton without parsing functions into separate files?我可以运行 package.skeleton 而不将函数解析为单独的文件吗?
【发布时间】:2011-06-10 16:07:42
【问题描述】:

是否有可能运行 package.skeleton('pkgname') 并让所有 .R 文件最终在一个文件或一组文件中,而不是每个函数一个文件?

与我合作的一位开发人员问我为什么将每个函数都放在一个单独的文件中,而我唯一的理由是“这是默认行为”。

【问题讨论】:

  • 我喜欢把东西放在单独的文件里。
  • @roman 我的大多数函数都有辅助函数,我发现如果至少相关函数都放在一个文件中,跟踪起来会更容易。
  • 同意,每个辅助函数都有文件是一种浪费。我当前的工作流程允许我使用在这些函数中定义的辅助函数(它们通常不适用于其他地方)按函数进行文件。

标签: r package


【解决方案1】:

如果您在 package.skeletoncode_files 参数中指定包含多个函数的文件,则应将其复制到包中的 R 目录。

所以,是的。

【讨论】:

  • 感谢您指出这一点。我看到了code_files,但没有意识到它对输出有这种影响。
  • 对不起,我错过了信息隐藏在?package.skeleton 的详细信息中:包源放置在“路径”的子目录“名称”中。如果提供了“code_files”,则复制这些文件;否则,对象将被转储到单独的源文件中。 ‘code_files’中的文件名应该有后缀‘".R"’并且在当前工作目录中。
【解决方案2】:

不要使用 package.skeleton。自己创建文件并使用 roxygen 创建文档。从长远来看,这是一个更容易的工作流程。

【讨论】:

  • 感谢您的建议。我认为 roxygen 指南说先做 package.skeleton 然后 roxygenize。但这并没有达到预期的效果,所以我会先尝试使用 roxygenize。
猜你喜欢
  • 2023-01-20
  • 1970-01-01
  • 2021-07-01
  • 2020-11-27
  • 1970-01-01
  • 2016-04-03
  • 2018-10-05
  • 2017-08-23
  • 1970-01-01
相关资源
最近更新 更多