忽略脚本与roxygen2

问题描述 投票:0回答:1

我正在编写一个在服务器上做一些工作的软件包。我有一个更新表的脚本,但我的目的不是手动和不频繁地运行它。它不是一个需要进入命名空间或任何东西的函数,只是一个脚本。

问题是,当我调用 roxygen2::roxygenize() 当我试图开发交互式功能时,它运行这个脚本需要一段时间,这非常烦人。我知道我可以添加 \donotrun{} 在我的文档中的例子周围,但在这种情况下,这并不太合理。有什么办法可以让 roxygen 不去执行这个吗?

我曾考虑过把它变成一个函数,这样执行它就只需定义函数体,但这似乎有点偏颇。

如果有任何建议,那就太好了

r package roxygen2
1个回答
1
投票

对于新的访问者来说,这不是roxygen文档内的函数代码,对于这一点,最好是围绕着 \donotrun

#' @examples
#' \donotrun{
#' something_goes_here()
#' }
myfunction <- function(...) {

不过在这种情况下,它是在软件包本身中包含一些文件。

  1. 您将文件放置在 ./inst/ 目录下的包一起安装,但不认为它们是R脚本(或任何东西)。这方面的权威参考文献是从 "编写R扩展部分", 第1.1.5节 包的子目录. 这将会在每台通过 install.packages(...).

  2. 如果你想要的东西在包里 源头 但不与软件包本身一起安装,我建议你在软件包的根目录下放置一个名为 .Rbuildignore (参考:同样的链接,现在是1.3.2构建软件包压缩包一节)。与这些模式相匹配的文件将不会被包含在压缩包中。无论您是否将实际文件放在 ./inst/ 或其他任何地方完全由你决定:如果是在 .Rbuildignore 文件,那么它将被排除在 tar 包中(因此最终用户可以看到它)。

© www.soinside.com 2019 - 2024. All rights reserved.