r语言 - 不引用块标签时是否有任何缺点



knitr 的创建者 Yihui Xie 在官方 knitr 块选项文档中写道(我强调):

  • (...) 理论上,块标签也应该被引用,但为了方便起见,如果你没有引用它,它将被自动引用(例如
  • ,'''{r, 2a} 将变成 '''{r, '2a'})

据我了解,带引号和不带引号的块标签的结果应始终相同。这是真的吗?或者是否存在引用与不引用块标签实际上很重要的(边缘)情况?

特别是,我想知道如果遵循以下建议,结果是否会有任何差异,这些建议也在 knitr 块选项文档中找到:

(...) 一般来说,建议使用字母字符和用 - 分隔的单词,并避免使用其他字符 (...)

我能想到的唯一边缘情况是当你的块标签包含一个逗号时,例如,a,b .在这种情况下,它必须被引用为'a,b',否则a将被视为块标签。

区块标签通过内部函数knitr:::quote_label()自动引用。您可以尝试自己找出其他可能的边缘情况:

> knitr:::quote_label("a")
[1] "'a'"
> knitr:::quote_label("a,b")
[1] "'a',b"
> knitr:::quote_label('"a,b"')
[1] ""a,b""
> knitr:::quote_label("a a a,b=1")
[1] "'a a a',b=1"
> knitr:::quote_label("a},b=1")
[1] "'a}',b=1"

相关内容

最新更新