对于用roxygen(2)记录类,指定标题和描述/细节似乎与函数,方法,数据等相同。但是,插槽和继承是它们自己的动物。在roxygen2中记录S4类的最佳实践(当前或计划中的)是什么?

尽职调查:

我在早期的氧气描述中发现了一个@slot标签。 2008 R-forge邮件列表帖子 似乎表明这已经死了, 而且在roxygen中不支持@slot

roxygen2是这样吗?前面提到的帖子建议用户改为使用LaTeX标记创建自己的逐项列表。例如。扩展了"character"类的新S4类将被编码并记录如下: 通用标签

尽管如此,尽管这种方法可行,但这种用于记录插槽的\describe方法,\item方法似乎与其余的Roxygen(2)不一致,因为没有@分隔的标签,并且插槽可以不受roxygenize()的反对而被无证证明。它也没有说明以一致的方式来记录所定义类的继承的方法。我认为使用@import标记,依存关系通常仍然可以正常工作(如果特定插槽需要另一个软件包的非基类)。

因此,总而言之,roxygen(2)插槽当前的最佳做法是什么?

目前似乎要考虑三个选项:

有帮助吗?

解决方案 3

roxygen2 v4.1 +和Hadley的最新文档:

http://r-pkgs.had.co.nz/man.html#man-classes

我还没有为RC尝试过它,但是现在它对S4来说对我有效。

以前

Roxygen2 3.0+版本似乎完全支持S4类插槽:

http://blog.rstudio.org/2013/ 12/09 / roxygen2-3-0-0 /

“使用roxygen2记录您的S4类,S4方法和RC类–您可以安全地删除使用@alias@usage的变通办法,而仅依靠roxygen2做正确的事情。”

其他提示

已更新的Roxygen2 5.0.1的答案,当前版本为6.0.1。

对于S4,现在的最佳做法是使用@slot标签进行记录: 通用标签

在旁注中,@exportClass仅在某些情况下是必需的,现在导出函数的一般方法是使用@export。您也不必导出类,除非您希望其他包能够扩展该类。

另请参见 http://r-pkgs.had.co.nz/ namespace.html#exports

Roygen2 3.0.0的更新答案,最新版本为5.0.1。

对于S4,最佳做法是采用以下格式的文档: 通用标签

这与插槽内部表示为对象内部列表一致。正如您所指出的,此语法与其他语法不同,我们可能希望将来有一个更强大的解决方案,其中包含继承知识,但是今天还不存在。

@Brian Diggs指出,此功能已纳入3.0.0,请在中进行进一步讨论https://github.com/klutometis/roxygen/pull/85

如果您要在Rd文件本身中记录插槽,Full Decent提供的解决方案就可以了。使用roxygen2时,可以使用标签@section\describe进行基本相同的操作。一个例子: 通用标签

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top