1

我正在编写一个名为的包foo,它定义了一个foo以各种 S3 方法命名的 S3 类。我编写了一个foo()返回foo对象的构造函数。在包之后命名类,在类之后命名函数似乎很实用,我希望:

  • package?foo会调出包帮助页面。
  • ?foo?foo::foo会弹出功能帮助页面。

但发生的事情是:

  • 两者package?foo?foo调出软件包帮助页面。
  • ?foo::foo调出功能帮助页面。

有没有办法给包和函数赋予相同的名称以产生我想要的行为?

目前我有一个foo_package.R这样的文件:

#' The foo package
#' 
#' A very useful package.
#' 
#' @docType package
#' @name foo
NULL

和这样的文件foo.R

#' The foo function
#' 
#' A very useful function.
#' 
#' @param x A data frame.
#' @return A foo object.
#' @export
foo <- function(x) {
  structure(x, class = c("foo", "data.frame"))
}

任何提示表示赞赏...

4

1 回答 1

1

在@MrFlick 评论中的第二个链接vignette("rd")指向“Packages”下的文本之后,我能够获得预期的行为。

foo.R没有改变,但foo-package.R现在显示:

#' The foo package
#' 
#' A very useful package.
#' 
#' @docType package
#' @keywords internal
#' @aliases foo-package
"_PACKAGE"

现在,根据需要:

  • package?foo?"foo-package"调出包帮助。
  • ?foo?foo::foo调出功能帮助。
于 2020-08-15T22:11:21.870 回答