0

我们在 R 包中为不同的类提供了多种方法,但它们都与我们在描述中导入的包相距甚远。

现在,我们想为到目前为止不依赖于我们包的类编写更多方法。这很好用,如果必要的包在命名空间中,因此类是 R 已知的。然后,我们不需要在我们的包中导入包。

但是,这样做感觉有点不对劲。这种情况有最佳实践吗?不导入它的优点是依赖项更少,缺点是用户必须主动加载带有他想要使用我们功能的类的包。

更新

@RolandEnhances实际上读起来就像我们追求的东西 - 尽管到目前为止我从未在任何包装中看到它。但是,我们并没有真正访问对象......as包中有一个修改为强制,但它是通过方法导出的,所以我们需要导入方法。

我们唯一要做的是:

foo.objectfromotherclassnotinimports <- function(x){
x  <- methods::as(x, "class_from_package_we_already_imported")
x2 <- foo2(x)
return(x)
}
4

0 回答 0