如何使用Roxygen2正确记录S4类插槽?
题
对于用roxygen(2)记录类,指定标题和描述/细节似乎与函数,方法,数据等相同。但是,插槽和继承是它们自己的动物。在roxygen2中记录S4类的最佳实践(当前或计划中的)是什么?
尽职调查:
我在早期的氧气描述中发现了一个@slot
标签。
2008 R-forge邮件列表帖子
似乎表明这已经死了,
而且在roxygen中不支持@slot
:
roxygen2是这样吗?前面提到的帖子建议用户改为使用LaTeX标记创建自己的逐项列表。例如。扩展了"character"
类的新S4类将被编码并记录如下:
通用标签
因此,总而言之,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
进行基本相同的操作。一个例子:
通用标签