我正在准备包裹。在开发阶段,我想创建一个示例脚本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
注释是具有挑战性的,因为我有多行代码,我将在开发阶段不断更改和编辑。因此,我需要一个更简单的选项。
如果您查看编写R扩展软件包手册,它提供了三个基本步骤:R CMD build
创建tarball,R CMD INSTALL
安装它(不是您的目标),R CMD check
在开发期间检查它。它们都提供了大量的开关来调整行为。使用它们——例如,我经常使用R CMD check --no-manual --no-vignettes
来跳过pdf/latex部分。
并且R CMD check
具有您正在寻找的--no-examples
标志。我不是devtools
的活跃用户,但我怀疑它也为您提供了这些选项的传递。最坏的情况下,如果没有,就用标准工具。(在RStudio中,你会发现一个开关,你可以像在命令行中一样设置R CMD ...
调用的选项。)
(在狭义的停止示例中,我一直忘记当前的内容,但您可以尝试所有dontrun{}
,donttest{}
,…以及对您设置的环境变量的显式条件。所有这些都将在代码中可见,但可能不是您想在文档中显示的内容。