有人能指出我用Roxygen记录R.oo类/方法的好例子吗?在R.oo中,类/方法是通过调用setConstructorS3()和setMethodS3()创建的,因此没有函数来记录本身。您是否只是创建标准的Roxygen函数文档,但是将它置于NULL语句之上?
答案 0 :(得分:3)
我想,
@usage
是必需的。MyMethod.ClassName
函数需要点 - 点参数。#' @export MyMethod.ClassName
而是#' @S3method MyMethod ClassName
?示例代码:
#' Title. More Info.
#'
#' @usage MyMethod(...)
#' @param this this.
#' @param someParam Param info.
#' @param ... other arguments.
#'
#' @rdname MyMethod
#' @export MyMethod
#' @name MyMethod
NULL
#' @usage \method{MyMethod}{ClassName}(this, someParam, ...)
#' @return MyMethod.ClassName:
#' \code{NULL}
#'
#' @rdname MyMethod
#' @S3method MyMethod ClassName
#' @name MyMethod.ClassName
setMethodS3("MyMethod", "ClassName", appendVarArgs = FALSE,
function(this, someParam, ...) {
NULL
})
答案 1 :(得分:2)
经过一番试验&错误,这就是我想出的。此解决方案可确保正确导出所有对象,R CMD构建/检查不会发生错误,没有冗余文档,并且将执行这些示例。请注意,如果使用@ method / @ S3method替换@export,则解决方案将无效。理论上应该有用,但它不适合我。有人有更好的解决方案吗?
#' Title. More Info.
#'
#' @param someParam Param info.
#'
#' @name MyMethod
#' @export MyMethod
NULL
#' @rdname MyMethod
#' @name MyMethod.ClassName
#' @export MyMethod.ClassName
setMethodS3( "MyMethod" , "ClassName" , appendVarArgs = FALSE ,
function( this , someParam ) { ... } )