我有一个函数
foo
和一些文档,使用 roxygen2
。
#' @param a description a
#' @param b description b
foo <- function(a, b, c){
cat(a, b, c)
}
我为
foo
编写了一个包装器,它继承了所有参数,但 a
来自 foo
。它们在帮助文件中按预期显示。
#' @inheritDotParams foo -a
foo_wrapper <- function(a, ...){
foo(a = "a", ...)
}
自动完成仅显示来自
foo_wrapper(a, ...)
的参数。我怎样才能让它建议来自 foo
的参数?
发现这个 issue 似乎相关,但不是同一个问题。
我认为最好的方法是复制参数名称,即将
foo_wrapper
定义为
foo_wrapper <- function(a, b, c){
foo(a = "a", b = b, c = c)
}
自动完成通常基于函数定义,
@inheritDotParams
对函数定义没有影响,它只影响生成的Rd文档文件。
如果你真的决心这样做,你可以使用
?rcompgen
中描述的方法。例如,跑步
utils:::.addFunctionInfo(foo_wrapper = c("a", "b", "c"))
将导致基本 R GUI 提供所有三个参数作为补全。看来 RStudio 完成代码并没有注意到这一点。如果你使用RStudio,我不知道是否有办法做到这一点。