对于使用roxygen(2)记录类,指定标题和描述/细节似乎与函数、方法、数据等相同。然而,槽和继承是它们自己的一种动物。在roxygen2中记录S4类的最佳实践是什么--当前的还是计划的?
尽职调查:
我发现在对roxygen的早期描述中提到了@slot
标签。A 2008 R-forge mailing list post似乎表明这已经死了,并且在roxygen中不支持@slot
:
这对roxygen2来说是真的吗?前面提到的帖子建议用户应该使用LaTeX标记来创建自己的分项列表。例如,扩展"character"
类的新S4类的编码和文档将如下所示:
#' The title for my S4 class that extends \code{"character"} class.
#'
#' Some details about this class and my plans for it in the body.
#'
#' \describe{
#' \item{myslot1}{A logical keeping track of something.}
#'
#' \item{myslot2}{An integer specifying something else.}
#'
#' \item{myslot3}{A data.frame holding some data.}
#' }
#' @name mynewclass-class
#' @rdname mynewclass-class
#' @exportClass mynewclass
setClass("mynewclass",
representation(myslot1="logical",
myslot2="integer",
myslot3="data.frame"),
contains = "character"
)
然而,尽管这种方法是有效的,但是这种用于记录插槽的\describe
、\item
方法似乎与roxygen(2)的其余部分不一致,因为没有@
-delimited标签,并且插槽可以不被记录而不会受到roxygenize()
的反对。它也没有提到以一致的方式记录所定义的类的继承。我想,使用@import
标签,依赖项仍然可以很好地工作(如果某个特定的插槽需要来自另一个包的非基类)。
那么,总结一下,roxygen(2)插槽当前的最佳实践是什么?
目前似乎有三种选择需要考虑:
@slot
...但是有了额外的标签/实现,我就错过了。我无法让@slot与roxygen / roxygen2一起使用,因为在上面的示例中,它被包含为分项列表的替代品。同样,上面的例子也适用于roxygen(2)。@param
,可以完成相同的任务。我借用/扩展了我在github上的roxygen2
开发页面上的一篇帖子。
https://stackoverflow.com/questions/7368262
复制相似问题