mar*_*omo 6 documentation r rd reference-class
如何记录引用类的成员函数的使用?
如果我Rd用一个\usage块写一个文件,我该如何避免WARNING
Functions/methods with usage in documentation object 'XmlDoc' but not in code:
  $ new
我希望这个\usage块允许我写下这样的东西:
obj <- ClassName$new(par1, par2, ...)
obj$method1(oth1, ...)
然后我会记录\arguments块中的参数.
如果我这样做,R CMD check抱怨
Assignments in \usage in documentation object 'ClassName':
并且不会将方法识别为我需要文档的代码对象.
截至目前,我正在编写Rd没有\usage块的文件,并在块中编写上面的代码\examples,但是我没有地方记录参数,这种方式check实际上很少检查.由于我对此不满意,我现在向社区询问当前的常见做法.
如果我理解正确,参考类方法是S4 方法,因此记录 S4 类和方法适用。
为了使这个答案更加独立,这是我Logger在logging.oo包中的类的情况下所做的。
这是我想要记录的代码,有一些遗漏 [...]。
Logger <- setRefClass("Logger",
                      fields=list(name = "character"),
                      methods=list(
                        setLevel = function(newLevel) { [...] },
                        getLevel = function() { [...] },
                        addHandler = function(...) { [...] },
这是 .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}(...)
而在 NAMESPACE 文件中,我只是指出我正在导出 Logger 类,我没有指定它的方法:所有方法都是自动导出的。