1

在我的包中,我as_bar从包中扩展了一个 S3 方法pcp_pack,应用于foo我的包中的一个对象foo_pack

ROxygen2 文档如下:

#' Implementation of as_bar for foo objects
#'
#' @param x same as foo_pack::as_bar
#' @param y new argument
#' @param z also new argument
#' @param ... unused, for S3 compatibility
#'
#' @name as_bar
#' @rdname as_bar
#' @export
#'
#' @examples
as_bar.foo = function(x, y, z, ...){
    #...
}

但是,这个功能是相当独立的,它可以在没有原始包的情况下工作。但是为了让函数在不必运行的情况下工作library(pcp_pack),我必须重新导出通用方法(我从dplyr reexportmagrittr复制了重新导出的语法),所以 R 知道它应该调用一个方法:

#' @importFrom pcp_pack as_bar
#' @export
pcp_pack::as_bar

这完美地工作,并且as_bar适用于foo对象以及其他对象。

但是,文档并不完美,运行library(foo_pack);?as_bar会给出两个结果:

  • man of ,用法中pcp_pack::as_bar未提及as_bar.foo
  • man of foo_pack::as_bar, with as_bar.fooin the usage 但没有别的

提前运行library(pcp_pack)不会改变任何事情。

我怎样才能得到一个统一的版本?as_bar,所有加载的包的所有用法,无论它们是什么?

编辑

4

0 回答 0