10

假设我的包中有一个函数闭包,例如

f = function(x) {
    x = x
    g = function(y) x <<- y
    h = function() x
    list(g = g, h = h)
}

l = f(5)
l$g(10)
l$h()

记录此功能的正确方式(在官方CRAN意义上)是什么?尤其是,

  1. 我想用roxygen2
  2. 我想提供功能的文档gh
4

1 回答 1

4

一种方法是执行类似于?family您记录的位置g()和文件部分的操作。然后提供关于和的扩展文档,您可以在这两个函数的部分条目中指向它。h()Value.Rdg()h()\section{foo}Value

\value{
  Returns an object of class \code{"foo"}, a list with the
  following components:

  \item{g}{function; does foo. See Returned Functions for details.}
  \item{h}{function; does bar. See Returned Functions for details.}
}
\section{Returned Functions}{
  The returned functions do, blah blah...

  \code{g} is defined as

  \preformatted{
  g(x, y, z, ...)
  }

  Arguments are:

  \describe{
    \item{x}{foo}
    \item{y}{foo}
    \item{z}{foo}
  }
}

虽然 roxygen 无法从参数中执行此操作@param,但您应该能够将其编写为任意 roxygen 部分以添加到 Rd 文件中。该Value部分可以写为标准的 roxygen 标记,只有定制部分需要按字面输入。

于 2012-10-30T22:40:19.587 回答