Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从R包导出环境_R_Mongodb_Devtools_Proto_Testthat - Fatal编程技术网

从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名称空间导入到包中。如果我理解正确,可能不是你想要

我正在开发一个R包,它封装了
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
    (在
    命名空间中发出潜在错误指令)?