在Roxygen / Rd代码示例中使用非平衡括号

时间:2015-10-08 16:18:56

标签: r roxygen2 rd

以下MWE无法编译(通过devtools::document()):

#' MWE
#'
#' @examples
#' format('{}') # Works
#' format('{')  # Nope
#' format('\{') # Nope
#' format('\\{')# Nope
format = function (str) {}

无论我包含哪些“Nope”行,它总是会失败并显示错误

  

开始mwe.r:1的氧气阻塞失败   不匹配的牙箍......

根据我对Rd documentation的解读,这应该通过逃避支撑来起作用。但是,如上所示,这工作。我做错了什么,或者这是Roxygen中的一个错误?

当我使用单一转义版本(format('\{'))时,提示这可能是一个Roxygen错误是完整的错误消息:

  

大括号不匹配:"@example format('{}') # Works format('\\{') # Nope"

请注意,输入中的单个反斜杠在输出中加倍。

1 个答案:

答案 0 :(得分:1)

不确定何时修复此问题,但roxygen2 version 6.0.1此问题似乎已得到解决。

MWE上的

devtools::document()生成有效的Rd:

\examples{
format('{}') 
format('{')  
format('\\{') 
format('\\\\{')
}