编织和缠结代码而不执行

Pat*_*thy 3 r knitr

我正在尝试将一个非常关键的数据库接口脚本转换为 R markdown 以用于文档目的,目的是然后缠结该文件以生成进入我的 crontab 的 R 代码。然而,我发现如果我设置eval=T然后编织文件会运行代码(我不希望意外发生),如果我设置eval=F然后缠结文件会生成所有注释的代码。

有没有一种安全的方法来生成一个文件,该文件与可运行的代码纠缠在一起,而不会冒执行的风险?我想我eval=F每次都可以找到/替换,但这看起来不优雅。

小智 5

多年后重新审视这个问题,有一个更简单的答案:

您可以将代码块参数组合eval=FALSE, comment=NA到:

  1. 避免在运行时运行代码块knit(),并且
  2. 运行时打印不带注释的代码purl()

此参数在页面https://yihui.org/knitr/options/的“代码装饰”部分中进行了描述。

也许这已经在另一篇文章中的某个地方描述过,但我只是花了几个小时试图弄清楚如何使用“钩子”和knitr源代码来做到这一点,然后才找到我知道必须存在的答案。希望这能让下一个人更容易!