从R包导出环境
我正在开发一个R包,它封装了从R包导出环境,r,mongodb,devtools,proto,testthat,R,Mongodb,Devtools,Proto,Testthat,我正在开发一个R包,它封装了rmongodb包,并为使用MongoDB创建了一个开发人员友好的界面。软件包在内部使用proto 我想通过名为MongoDB的原型对象(环境)导出单个工厂方法,其定义是: MongoDB <- proto( new = function(., ...) { # Good stuff in here... } ) MongoDB此指令: import(MongoDB) 意味着您将MongoDB名称空间导入到包中。如果我理解正确,可能不是你想要
rmongodb
包,并为使用MongoDB创建了一个开发人员友好的界面。软件包在内部使用proto
我想通过名为MongoDB
的原型对象(环境)导出单个工厂方法,其定义是:
MongoDB <- proto(
new = function(., ...) {
# Good stuff in here...
}
)
MongoDB此指令:
import(MongoDB)
意味着您将MongoDB
名称空间导入到包中。如果我理解正确,可能不是你想要的
我想您应该导出MongoDB
对象,然后
export(MongoDB)
应该行得通 试试这个:
在NAMESPACE
文件中指定export(“MongoDB”)
,以使MongoDB
proto对象公开可用
在DESCRIPTION
文件中指定LazyData:yes
,以便在访问时自动加载
添加一个.Rd
文件,将其记录为数据集
然后,它应该通过R CMD检查
您可能还需要查看该软件包。。它使用Java驱动程序,具有比rmongodb
package.Right更高级别的接口。import
语句由devtools
插入,这并不酷。唉,导出(MongoDB)
不起作用。谢谢你的建议,Gabor。由于相同的原因,check
仍然失败:MongoDB
在加载测试时无法找到。我已经用Rd
文件、DESCRIPTION
和NAMESPACE
@Sim的链接更新了这个问题,我已经用我提到的3点创建了包,它们起了作用,所以这可能是您正在使用的开发环境的问题,而不是R的问题。您可能需要与维护人员联系为了确保我理解:既然问题出现在测试中,你是否建议我向@hadley提出问题,看看是关于testthat
(测试所在的位置)还是devtools
(在命名空间中发出潜在错误指令)?