roxygen 和 S4 课程的一般信息
roxygen 的第一个版本有一个@slot
标签,但该版本不再支持roxygen2
. 所以建议不要使用那个旧版本。
至于现在,roxygen2
对 S4 类没有真正的支持。Hadley 正在努力实现这一目标roxygen3
(https://github.com/hadley/roxygen3)。如果您想试一试并感到勇敢:roxygen3
从 github 安装并尝试开发版本。请注意,此版本最终将合并到roxygen2
中,因此问题会及时自行解决。
关于您的工作流程:
我个人总是觉得结合使用 roxygen 和手动编写的 .Rd 文件是个坏主意。但如果必须,您可以使用参数将 roxygen 的输出发送到不同的目录roxygen.dir
。这样,您可以将所需的任何内容复制回包目录,而不会覆盖手动写入的文件。
roxygenise("./mypackage", roxygen.dir="./myroxygendir")
我要做的就是roxygen2
按照链接到的线程中的说明为您的类编写 Rd 文件。您不必出于某种未知原因而像您认为的那样手动添加它们。您只需#'
像往常一样使用指示 Rd 块,并使用您链接到的线程中给出的任何内容。如果您想让插槽成为一个单独的部分,您可以使用@section
下面示例中的标签来执行此操作。
目前如何使用以下方法添加插槽的示例roxygen2
:
#' The MY class
#'
#' This class blabla yadayada
#'
#'@section Slots:
#' \describe{
#' \item{\code{aslot}:}{Object of class \code{"numeric"}, containing
#'whatever and a bit more}
#' \item{\code{anotherslot}:}{Object of class \code{"character"}, containing
#' strings.}
#' }
#'
#' @note Yes, you can add notes
#' @name MY
#' @rdname MY
#' @aliases MY-class
#' @exportClass MY
#' @author Joris Meys
setClass("MY",
representation=representation(aslot="numeric",
anotherslot="character"
)