我正在编写一个R包,并希望从旧函数(比如 $("#myNav li a").on('mouseover', function(){
$("#navImage img").hide().eq($(this).closest('li').index()).show();
});
)继承两个参数(比如x
和y
)的文档到一个新函数, old()
。扭曲是这两个参数共享相同的参数描述。也就是说,在new()
函数中,它们被记录在一行中并用逗号分隔:
old()
我使用以下#' @param x,y Two arguments with the same description
来继承这些参数:
new()
但是,当我构建软件包时,#' @inheritParams old
的文档列出了new()
,但没有列出x
。
有没有办法继承像这样的多个参数?
答案 0 :(得分:5)
如果其他人偶然发现这一点,答案是你不能这样做。
这来自roxygen2创作者Hadley Wickham。
答案 1 :(得分:0)
似乎在版本6.1.1中,您可以唯一的缺点是new()
中的两个变量具有相同的描述,但将分别列出。
我试图写一个可复制的例子以防万一。
# roxygen 6.1.1, devtools 2.0.1, usethis 1.4.0
# Select a project folder and do setwd(<project_folder>)
usethis::create_package("inheritanceTest")
setwd("./inheritanceTest")
t = "
#' Hello
#'
#' @param x,y some stuff
#'
#' @return other stuff
#' @export
test_inherit_parent = function(x,y){
print('puppa')
}
#' Hello2
#'
#' @inheritParams test_inherit_parent
#'
#' @return other stuff2
#' @export
test_inherit_child = function(x,y){
print('Hello2')
}
"
fileConn = file("./R/functions.R")
writeLines(t, fileConn)
close(fileConn)
devtools::document()
devtools::load_all(".")
?test_inherit_parent
?test_inherit_child