为R包中的多个参数继承Roxygen2文档

时间:2016-09-29 05:55:56

标签: r documentation roxygen2

我正在编写一个R包,并希望从旧函数(比如 $("#myNav li a").on('mouseover', function(){ $("#navImage img").hide().eq($(this).closest('li').index()).show(); }); )继承两个参数(比如xy)的文档到一个新函数, old()。扭曲是这两个参数共享相同的参数描述。也就是说,在new()函数中,它们被记录在一行中并用逗号分隔:

old()

我使用以下#' @param x,y Two arguments with the same description来继承这些参数:

new()

但是,当我构建软件包时,#' @inheritParams old的文档列出了new(),但没有列出x

有没有办法继承像这样的多个参数?

2 个答案:

答案 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