如何使用Roxygen2适当地记录S4类?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (3)
  • 关注 (0)
  • 查看 (36)

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

我发现有人提到@slot标签在早期的roxygen2描述中。

roxygen2是这样的吗?例如,一个新的S4类,它扩展了"character"类的代码和文档如下:

#' The title for my S4 class that extends \code{"character"} class.
#'
#' Some details about this class and my plans for it in the body.
#'
#' \describe{
#'    \item{myslot1}{A logical keeping track of something.}
#'
#'    \item{myslot2}{An integer specifying something else.}
#' 
#'    \item{myslot3}{A data.frame holding some data.}
#'  }
#' @name mynewclass-class
#' @rdname mynewclass-class
#' @exportClass mynewclass
setClass("mynewclass",
    representation(myslot1="logical",
        myslot2="integer",
        myslot3="data.frame"),
    contains = "character"
)

然而,虽然这是可行的,但是\describe,,,\item记录插槽的方法似乎与roxygen(2)的其余部分不一致,因为没有@-分隔的标签和插槽可能没有文件记录,没有任何异议。roxygenize()它也没有提到一种一致的方法来记录所定义的类的继承。我设想依赖关系仍然正常工作(如果一个特定的插槽需要来自另一个包的非基类),则使用@import标签。

那么,概括地说,当前Roxygen(2)槽的最佳实践是什么?

有3种方案:

  • a-逐项列表(如上面的例子)。
  • B---@slot来实现额外的标签。
  • C--某些指定槽的替代标记,如@param,将完成相同的工作。
提问于
用户回答回答于

roxygen2v4.1+和Hadley的最新文档:

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

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

以前

看起来在ROxO 2版本3.0+下完全支持S4类插槽:

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

“用roxygen 2记录您的s4类、s4方法和rc类--可以安全地删除使用的解决方案。“

热门问答

快照容量与费用的比例?如何关闭停用?

帅的惊动我国计算机大神
推荐已采纳
快照已于2019年1月22日0时启动正式商业化进程,商业化后所有存量快照和新产生的快照将根据快照使用的存储容量进行收费。 在快照商业化后,腾讯云仍旧会在国内主要地域为用户提供一定量的免费额度。免费额度策略如下: 免费额度覆盖范围为中国大陆地域,中国香港及海外地域暂无免费快照额...... 展开详请

红包消息如何构建?

红包消息的话,与@消息类似,可以通过 TIMCustomElem 来实现。需要应用在UI上做相应的特殊处理,比如检查到当前消息为红包消息后,消息展示为红包的样式。 另外,红包消息作为重要消息,最好在发送消息的时候将其设置为高优先级消息,以最大程序保证消息在触达频率限制的情况下仍可...... 展开详请

AVChatRoom和ChatRoom有什么区别?

面向的应用场景不同 ChatRoom适用于群组规模中等(不超过数千人级别)、成员进出不太频繁(每秒十几个人进出)的场景;AVChatRoom是专门为了大型直播设计的,适用于人数众多(万级以上)、成员进出频繁(每秒数百人以上进出)的场景。 AVChatRoom的优点 支持人数无上限...... 展开详请

serverless函数如何支持跨域?

解决跨域的方式有几种: 1. 如果不像自行解决跨域问题,且没有处理 http header 方法的问题,可以在 API 网关中,针对 API 配置,不选择 ANY 方法,而且仅选择非 header 的方法,然后勾选启用 CORS,由 API 网关协助解决跨域。完成配置后记得保存并...... 展开详请

调用短信接口返回错误?

您好,短信错误码文档:https://cloud.tencent.com/document/product/382/3771。 报错1021说明:请求发起时间不正常,通常是由于您的服务器时间与腾讯云服务器时间差异超过 10 分钟导致的 核查步骤: 1.请核查服务器时间是否正常; ...... 展开详请

对象存储数据三副本问题,谢谢 ?

波斯狗儿对象存储产品经理
推荐已采纳

1 COS 不完全使用副本的方式保存,数据调度能力属于我们的产品核心竞争力,具体实现方式一般不披露。

2 副本对用户是不感知的,COS 是一个最终一致性的存储,如果发起删除导致数据丢失,所有的数据都会被删除。

所属标签

扫码关注云+社区