r语言 - 为什么 'devtools::d ocument()' 在函数定义为空的 'setMethod' 上跳闸



假设我正在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的错误吗?

软件包版本:

  • devtools_1.13.6
  • roxygen2_6.1.1

这似乎是roxygen中的一个错误:https://github.com/klutometis/roxygen/issues/843

相关内容

  • 没有找到相关文章

最新更新