R代码段是简单的文本模板吗?

R代码段是简单的文本模板吗?,r,code-snippets,bookdown,R,Code Snippets,Bookdown,当我在R Studio中使用代码片段时,发生了一些意想不到的事情。 我正在编辑一个.rmd文件,作为bookdown网站的一部分 我创建了这个片段: snippet tweet `r blogdown::shortcode('tweet', 'tweet code')` 但当我使用这个片段时,我得到了: {{% tweet "tweet code" %}} 这实际上很酷,因为它确实按照预期的方式工作,而且语法更简洁。 我只是想知道是什么导致了这一切。 我假设代码片

当我在R Studio中使用代码片段时,发生了一些意想不到的事情。 我正在编辑一个.rmd文件,作为bookdown网站的一部分

我创建了这个片段:

snippet tweet
    `r blogdown::shortcode('tweet', 'tweet code')`
但当我使用这个片段时,我得到了:

{{% tweet "tweet code" %}}
这实际上很酷,因为它确实按照预期的方式工作,而且语法更简洁。 我只是想知道是什么导致了这一切。
我假设代码片段是一个简单的复制粘贴类型的操作。

答案似乎是:

不,RStudio中的代码片段不仅仅是文本宏,它们还可以执行R代码

例如,默认代码段ts:

snippet ts
  `r paste("#", date(), "------------------------------\n")`

执行包含的粘贴函数以插入时间戳注释。

出现混淆的原因是我希望将文字输出粘贴到脚本中(因为bookdown希望r代码用反勾号包装到动作短码中)但是,因为我希望代码片段可以作为简单的文本替换宏来工作,所以我没有想到bookdown在做同样的事情(即在给定的文本中运行r代码)。正如有人在一次编辑(不是评论)中提到的,这显然是不同IDE之间相当常见的行为。(我不认为这不是r语言的一部分?)。所以,很高兴知道。