不引用块标签是否有任何缺点?

时间:2019-01-09 16:24:42

标签: r r-markdown knitr

编织者writes in the official knitr chunk option documentation的创造者谢一辉(我强调):

  
      
  • (...),在理论上,块标签也应加引号,但是为了方便起见,如果不加引号,则会自动将其加引号(例如```{ r,2a}将变为```{r,'2a'})
  •   

据我所知,加引号和未加引号的大块标签的结果应始终相同。这是真的吗?还是在某些(边缘)情况下引用或不引用块标签实际上很重要?

特别是,我想知道如果遵循knitr块选项文档中还发现的以下建议,结果是否会有任何差异:

  

(...)通常,建议使用字母字符,并用-分隔单词,并避免使用其他字符(...)

1 个答案:

答案 0 :(得分:4)

我唯一能想到的情况是块标签包含逗号,例如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"