Roxygen注释涉及使用#'
为行添加前缀。
在编写和测试函数示例时,最好能够打开和关闭注释。我可以将代码复制并粘贴到vim上,然后删除或添加这些注释,但这不是很优雅。
更新:从侧面考虑,我想使用
@example examples/foo.r
是避免必须将Roxygen注释用于实际示例代码的另一种方法(即,通过从文件中获取示例,即examples/foo.r
)。 最佳答案
您可以编写自己的函数,该函数从R文件中提取示例代码。这类似于purl
包或knit
中的Stangle
。这里是您可以做什么的示例。该函数效率不高,但我只是为了说明这一点而编写它。这应该是一个很好的起点。它还假定您已经获取了R文件,或者至少已在R session 中存在文档功能。
purl.examples <- function(fileName){
ll <- readLines(fileName)
ex.lines <- grep('@examples',ll) ## get the example's lines
## for each example loop till
## there is no comment (inefficient)
examples <- lapply(ex.lines , function(x){
i <- x+1
code <- list()
while(grepl("#'",ll[i])){
l <- c(code,gsub("#'","",ll[i],fixed=TRUE))
i <- i+1
}
code
})
}
然后,您可以像这样调用它:
lapply(purl.examples('code.R'),
function(ex) eval(parse(text=ex))) ## safer to use evaluate package here
关于r - 如何在Rstudio中切换对Roxygen的评论?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19195501/