roxygen中的参数类型是否有规范语法?

时间:2018-04-27 13:19:05

标签: r roxygen2

我用R和Roxygen。那里有@param块,就像Doxygen和JavaDoc一样。由于R是动态类型的(鸭子类型为偶数),因此没有类型信息,因为有C ++或Java。对于PHP和Python,我看到可以在PHPDoc中使用@param int $n,在Sphinx中使用:param int n:(对于Python)。

Roxygen似乎缺乏此功能,各种风格指南只是说一下描述类型(英文)。是否有一些规范或至少明智的方法来标准化这个?

我想获得以下信息:

  • 班级类型myClass
  • 长度为3的数字向量
  • 每个都有某些字段的命名列表

也许正在使用

@param x A named list with fields "a", "b", and "c" which are logical. 
    These selects whether the three methods are to be used.

或者更确切地说

@param x Selectors for the methods "a", "b", and "c".
    (Named list of logical).

抽象地说,有很多可能性:

  • 类型:说明。
  • 描述。类型。
  • (类型)说明。
  • ...

在Doxygen和PHPDoc中,我得到第三列(参数名称,类型,描述),但这里我只需要两列。这可以在R?中明智地解决吗?

1 个答案:

答案 0 :(得分:1)

我不确定是否存在普遍认可的标准,但有一种选择是在描述包通过data()提供的对象时遵循roxygen生成的语法。

例如,如果您的软件包包含一个包含该对象的文件data/myList.R

myList <- list (A = 1, B = 2, C = 3, D = 4)

然后使用roxygen语法

R/data.R中最低限度地记录此项目
#' My List
#' @keywords datasets
"myList"

roxygen将自动将对象的格式记录为

  

长度为4的类list的对象。

这个结构在描述参数时似乎是一个明显的语法,尽管这必须手动完成。通用解决方案可能无法实现,因为某些函数可以处理具有各种属性和类的参数。