【问题标题】:Is there a canonical syntax for parameter types in roxygen?roxygen 中的参数类型是否有规范的语法?
【发布时间】:2018-04-27 13:19:05
【问题描述】:

我将 R 与 Roxygen 一起使用。就像在 Doxygen 和 JavaDoc 中一样,您有 @param 块。由于 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 中合理地解决吗?

【问题讨论】:

    标签: r roxygen2


    【解决方案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 类对象。

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

    【讨论】:

      猜你喜欢
      • 2015-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多