对于使用roxygen(2)记录类,指定标题和描述/详细信息似乎与函数,方法,数据等相同。但是,插槽和继承是它们自己的动物。在roxygen2中记录S4类的最佳实践(当前或计划中的)是什么?
尽职调查:
我@slot
在早期的氧气描述中发现了一个标签。
2008 R-forge邮件列表中的帖子
似乎表明这已经死了,并且不支持@slot
roxygen:
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)插槽当前的最佳实践是什么?
目前似乎要考虑三个选项:
- A-逐项列出(例如上面的示例)。
- B
@slot
-...但是我错过了额外的标签/实现。在上面的示例中,我无法使用@slot来与roxygen / roxygen2配合使用,该版本将其替换为逐项列出的列表。同样,以上示例确实适用于roxygen(2)。- C-一些用于指定插槽的替代标签,例如
@param
,可以完成相同的操作。
我是从我roxygen2
在github上的开发页面上发布的帖子中借用/扩展了这个问题。
setClass
语句少于setMethod
。一旦@slot
实施更改,就不会太痛苦。
@slot
这可能是您长期想要的,但必须首先实施...