[英]Same function but with two different names in an R package using roxygen2?
我想在 roxygen2 制作的 R 包中创建两个完全相同但名称不同的函数。
非常清楚,假设
first <- function(x) {
x + 2
}
我想要second
功能,这样
identical(first, second)
# [1] TRUE
一个函数可以被赋予一个别名,但这并不意味着它的别名是一个可调用的函数——相反,这意味着你可以调用?myalias
来显示原始函数的帮助文件。 但是myalias
不是包中的可调用函数——也就是说,除了?
.
从哈德利的文档:
别名是可以与 ? 一起使用的主题的另一个名称。
可以通过蛮力使用两个不同名称的相同函数 - 即通过复制声明原始函数的文件并简单地在重复代码中更改其名称。
这显然很乏味,违反了DRY并引入了膨胀。
有没有更好的办法; 一个不涉及大规模重复代码的?
用
#' @rdname first
#' @export
second <- first
所以如果first.R
最初看起来像这样
#' A function that adds 2
#' @name first
#' @usage first(x)
#' @param x a number
#' @export
first <- function(x) {
x + 2
}
然后像这样简单地包含额外的代码行(最后 3 行都是变化的)
#' A function that adds 2
#' @name first
#' @usage first(x)
#' @param x a number
#' @export
first <- function(x) {
x + 2
}
#' @rdname first
#' @export
second <- first
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.