【问题标题】:Arguments descriptions order in .Rd file when using the roxygen2 tag @inheritParams使用 roxygen2 标记 @inheritParams 时,.Rd 文件中的参数描述顺序
【发布时间】:2011-11-28 16:42:50
【问题描述】:

假设我正在编写一个小型 R 包,其中包括两个函数,除了一个之外,它们的参数完全相同。这是一个例子:

fct1 <- function(r, K){...}
fct2 <- function(r, p, K){...}

在我的第一个函数的 roxygen2 文档中,我使用了以下标签:

#' @param r description of argument r
#' @param K description of argument K

对于第二个功能,我使用以下标签:

#' @param p description of argument p
#' @inheritParams fct1

在使用 roxygenize 处理我的代码后,函数 fct2 的 .Rd 文件按以下顺序显示参数:p、r、K。我希望它们的顺序与使用部分中的顺序相同,即: r, p, K。如何在不手动更改 .Rd 文件的情况下获得此订单?

我坚持使用@inheritParams 来避免复制和粘贴。

谢谢!

【问题讨论】:

  • @hadley,没有github账号的情况下可以报告bug吗?谢谢
  • 没有。但是帐户是免费且易于设置的。不幸的是,在这些垃圾邮件充斥的日子里,帐户是必需的。

标签: r roxygen2


【解决方案1】:

我也有同样的问题。现在我使用小技巧来避免错误的参数顺序。

使用代码(例如在单独的 .R 文件中):

#' Function arguments
#'
#' @keywords integral
#'
#' @name fargs
#'
#' @param r ..
#' @param p ..
#' @param K ..
#' 
#' 
NULL

并使用

#' @inheritParams fargs

两种功能。

在这种情况下,这很容易,但在更复杂的示例中,U 可以使用此代码的许多块(每种类型的参数都有单独的块)。 也许这不是那么简单的方法,但您不会在任何地方重复相同的代码。我将该块存储在单独的 args.R 文件中,因此每个继承参数都在一个文件中。

另一种方法是使用模板,但这种方法不灵活,您必须为每个块创建单独的 .R 文件。所以我建议你使用类似的代码块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 2015-07-06
    • 2020-11-21
    • 1970-01-01
    相关资源
    最近更新 更多