如何记录R参考类?

mar*_*omo 6 documentation r rd reference-class

如何记录引用类的成员函数的使用?

如果我Rd用一个\usage块写一个文件,我该如何避免WARNING

Functions/methods with usage in documentation object 'XmlDoc' but not in code:
  $ new
Run Code Online (Sandbox Code Playgroud)

我希望这个\usage块允许我写下这样的东西:

obj <- ClassName$new(par1, par2, ...)
obj$method1(oth1, ...)
Run Code Online (Sandbox Code Playgroud)

然后我会记录\arguments块中的参数.

如果我这样做,R CMD check抱怨

Assignments in \usage in documentation object 'ClassName':
Run Code Online (Sandbox Code Playgroud)

并且不会将方法识别为我需要文档的代码对象.

截至目前,我正在编写Rd没有\usage块的文件,并在块中编写上面的代码\examples,但是我没有地方记录参数,这种方式check实际上很少检查.由于我对此不满意,我现在向社区询问当前的常见做法.

geo*_*try 5

我不知道它是否是正确的方法,但我所做的是有一个方法部分,然后将方法文档放在内部描述中.


mar*_*omo 5

如果我理解正确,参考类方法S4 方法,因此记录 S4 类和方法适用。

为了使这个答案更加独立,这是我Loggerlogging.oo包中的类的情况下所做的。

这是我想要记录的代码,有一些遗漏 [...]。

Logger <- setRefClass("Logger",
                      fields=list(name = "character"),
                      methods=list(
                        setLevel = function(newLevel) { [...] },
                        getLevel = function() { [...] },
                        addHandler = function(...) { [...] },
Run Code Online (Sandbox Code Playgroud)

这是 .Rd 文件的相应内容:

\alias{\S4method{new}{Logger}}
\alias{\S4method{setLevel}{Logger}}
\alias{\S4method{getLevel}{Logger}}
\alias{\S4method{addHandler}{Logger}}
[...]
\usage{
\S4method{new}{Logger}(name)
\S4method{setLevel}{Logger}(newLevel)
\S4method{getLevel}{Logger}()
\S4method{addHandler}{Logger}(...)
Run Code Online (Sandbox Code Playgroud)

而在 NAMESPACE 文件中,我只是指出我正在导出 Logger 类,我没有指定它的方法:所有方法都是自动导出的。