如何阻止 R 包执行 .R 脚本?
How to stop a R package from executing an .R script?
我正在准备包裹。在开发阶段,我想创建一个示例脚本 example.R
,我可以用它来检查我的包的不同功能。但是,我不希望在更新包时执行我的示例脚本。这是我面临的挑战:
假设我的 example.R
有以下代码:
print("Hello")
如果,我更新并保存我的包:
devtools::document()
# Actual Output: [1] "Hello"
# Desired Output: It should be blank. Code in Example.R script should not be executed
我已经尝试了各种其他选项,但到目前为止都没有成功:
- 尝试
@examples
#' @examples
print("Hello")
如果,我更新并保存我的包:
devtools::document()
# Actual Output: [1] "Hello"
# Desired Output: It should be blank. Code in Example.R script should not be executed
- 尝试
\dontrun{}
#' \dontrun{
print("Hello")
#'}
如果,我更新并保存我的包:
devtools::document()
# Actual Output: [1] "Hello"
# Desired Output: It should be blank. Code in Example.R script should not be executed
似乎唯一可行的方法是注释整个代码:
# print("Hello")
如果,我更新并保存我的包:
devtools::document()
# Actual Output:
# Desired Output: It should be blank. Code in Example.R script should not be executed
评论很有挑战性,因为我有多行代码,我将在开发阶段不断更改和编辑这些代码。因此我需要一个更简单的选项。
如果您查看包的 Writing R Extensions 手册,它提供了三个基本步骤:R CMD build
创建 tarball,R CMD INSTALL
安装它(不是你的目标)和 R CMD check
在开发过程中检查它。他们都提供 numerous 开关来调整行为。使用那些 - 即我经常 R CMD check --no-manual --no-vignettes
跳过 pdf / latex 部分。
并且 R CMD check
有您正在寻找的 --no-examples
标志。我不是 devtools
的活跃用户,但我怀疑它也为您提供了这些选项的传递。而且,最坏的情况是,如果没有,只需使用标准工具。 (在 RStudio 中,您会找到一个开关,您可以像在命令行上一样为 R CMD ...
调用设置选项。)
(在停止示例的狭义意义上,我总是忘记当前的内容,但您可以尝试所有 \dontrun{}
、\donttest{}
、...以及对环境变量的显式条件你设置。所有这些都将在代码中可见,但可能不是你想要在文档中显示的内容。)
我正在准备包裹。在开发阶段,我想创建一个示例脚本 example.R
,我可以用它来检查我的包的不同功能。但是,我不希望在更新包时执行我的示例脚本。这是我面临的挑战:
假设我的 example.R
有以下代码:
print("Hello")
如果,我更新并保存我的包:
devtools::document()
# Actual Output: [1] "Hello"
# Desired Output: It should be blank. Code in Example.R script should not be executed
我已经尝试了各种其他选项,但到目前为止都没有成功:
- 尝试
@examples
#' @examples
print("Hello")
如果,我更新并保存我的包:
devtools::document()
# Actual Output: [1] "Hello"
# Desired Output: It should be blank. Code in Example.R script should not be executed
- 尝试
\dontrun{}
#' \dontrun{
print("Hello")
#'}
如果,我更新并保存我的包:
devtools::document()
# Actual Output: [1] "Hello"
# Desired Output: It should be blank. Code in Example.R script should not be executed
似乎唯一可行的方法是注释整个代码:
# print("Hello")
如果,我更新并保存我的包:
devtools::document()
# Actual Output:
# Desired Output: It should be blank. Code in Example.R script should not be executed
评论很有挑战性,因为我有多行代码,我将在开发阶段不断更改和编辑这些代码。因此我需要一个更简单的选项。
如果您查看包的 Writing R Extensions 手册,它提供了三个基本步骤:R CMD build
创建 tarball,R CMD INSTALL
安装它(不是你的目标)和 R CMD check
在开发过程中检查它。他们都提供 numerous 开关来调整行为。使用那些 - 即我经常 R CMD check --no-manual --no-vignettes
跳过 pdf / latex 部分。
并且 R CMD check
有您正在寻找的 --no-examples
标志。我不是 devtools
的活跃用户,但我怀疑它也为您提供了这些选项的传递。而且,最坏的情况是,如果没有,只需使用标准工具。 (在 RStudio 中,您会找到一个开关,您可以像在命令行上一样为 R CMD ...
调用设置选项。)
(在停止示例的狭义意义上,我总是忘记当前的内容,但您可以尝试所有 \dontrun{}
、\donttest{}
、...以及对环境变量的显式条件你设置。所有这些都将在代码中可见,但可能不是你想要在文档中显示的内容。)