记录定义同名函数的包

Documenting a package that defines a function with the same name

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

但是发生的事情是:

有没有办法为包和函数提供相同的名称来产生我想要的行为?

目前我有一个这样的文件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"))
}

感谢任何提示...

按照@MrFlick 评论中的 second link,它指向 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 调出函数帮助。