【发布时间】:2015-10-08 16:18:55
【问题描述】:
以下 MWE 编译失败(通过devtools::document()):
#' MWE
#'
#' @examples
#' format('{}') # Works
#' format('{') # Nope
#' format('\{') # Nope
#' format('\\{')# Nope
format = function (str) {}
无论我包含哪些“否”行,它总是会失败并显示错误
roxygen 块开始失败 mwe.r:1
大括号不匹配……
根据我对Rd documentation 的阅读,这应该通过转义大括号来工作。但是,如上所示,这 不起作用。我做错了什么还是这是 Roxygen 中的错误?
当我使用单转义版本 (format('\{')) 时,完整的错误消息提示这可能是 Roxygen 错误:
大括号不匹配:
"@example format('{}') # Works format('\\{') # Nope"
请注意,输入中的单个反斜杠在输出中已加倍。
【问题讨论】:
-
@Josh 您(现已删除)的答案使这个编译但是 - 正如您可能已经注意到的那样,考虑到删除 - 它会导致 Rd 文件损坏,当尝试在 R 中显示帮助时会显示错误. 那么我们可以断定这是一个 roxygen 错误吗?
-
它确实看起来像一个错误。我删除是因为我意识到(duh)额外的右大括号只是用来关闭
\examples{}部分 -
也许你现在可以结束这个问题了?
-
@KarlForner 实际上,如果您查看错误报告,您会发现即使修复了错误(至少表面上如此),问题仍然存在。我不确定这是一个错误还是我做错了什么。无论如何,最初的问题已经演变为基本上没有答案。