如何记录引用类的成员函数的使用?
如果我用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
实际上很少检查。由于我对此不满意,我现在向社区询问当前的常见做法。
答案 0 :(得分:5)
我不知道这是不是正确的方法,但我所做的是有一个方法部分,然后将方法文档放在内部 describe
答案 1 :(得分:4)
如果我理解正确,参考类方法是 S4方法,因此适用documenting S4 classes and methods。
让这个答案更加独立,这就是我在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类,我没有指定它的方法:所有都自动导出。