假设我正在使用RStudio中的devtools
构建一个R包。
假设我有这个R源文件,代码如下:
#' @param object An object
#' @param data Numeric vector or data.frame
#' @param Fun Function. Default function is \code{sum}
#' @param ... Extra named arguments passed to FUN
#' @rdname myGeneric
#' @export
setGeneric("myGeneric", function(object, data, FUN, ...)
{standardGeneric ("myGeneric")} )
#' @rdname myGeneric
setMethod("myGeneric", c("numeric", "numeric", "function"),
function(object, data, FUN, ...) {
return(42)
}
)
现在,devtools::document(roclets=c('rd', 'collate', 'namespace'))
运行正常,除了关于缺少名称/标题的警告:
> devtools::document(roclets=c('rd', 'collate', 'namespace'))
Updating gwasrapidd documentation
Loading gwasrapidd
Writing NAMESPACE
Writing NAMESPACE
Warning message:
myGeneric.Rd is missing name/title. Skipping
但是如果我在函数定义中注释那行return(42)
如下:
#' @param object An object
#' @param data Numeric vector or data.frame
#' @param Fun Function. Default function is \code{sum}
#' @param ... Extra named arguments passed to FUN
#' @rdname myGeneric
#' @export
setGeneric("myGeneric", function(object, data, FUN, ...)
{standardGeneric ("myGeneric")} )
#' @rdname myGeneric
setMethod("myGeneric", c("numeric", "numeric", "function"),
function(object, data, FUN, ...) {
#return(42)
}
)
并再次运行devtools::document(roclets=c('rd', 'collate', 'namespace'))
我现在得到一个错误:
> devtools::document(roclets=c('rd', 'collate', 'namespace'))
Updating gwasrapidd documentation
Loading gwasrapidd
Error in method_body[[2]] : subscript out of bounds
我的问题是为什么?这是devtools
的错误吗?
包装版本:
这似乎是roxygen
中的一个错误:https://github.com/klutometis/roxygen/issues/843