6

rmongodbパッケージをラップし、MongoDB を操作するための開発者向けのインターフェイスを作成するR パッケージを開発しています。パッケージはproto内部で使用します。

と呼ばれる proto オブジェクト (環境) を介して単一のファクトリ メソッドをエクスポートしたいと思いますMongoDB。その定義は次のとおりです。

MongoDB <- proto(
  new = function(., ...) {
    # Good stuff in here...
  }
)

RStudio での開発中devtoolsおよびローカルでのテスト中、これは問題にはならないようです。ただし、いくつかの問題が発生しています。

  • devtools::check()「名前空間の依存関係は必要ありません: 'MongoDB'」で失敗するimport(MongoDB)私の NAMESPACE ファイルに入れることを主張します。R CMD check

  • このインポート ディレクティブを削除すると、手動で追加してもR CMD check、テストの実行中に「オブジェクト 'MongoDB' が見つかりません」というエラーが表示されて失敗します。ただし、RStudio では問題なく動作します。testthatexport(MongoDB)devtools::test()

proto環境であるオブジェクトを R パッケージからエクスポートするための推奨される方法は何ですか?

アップデート:

以下のガボールの提案に従って、それがデータとしてMongoDB.Rd宣言MongoDBされていることを確認しました(リンクにはソースがあります)。MongoDBテスト(を使用)で表示されないというエラーが引き続き発生しますtestthat。私のDESCRIPTIONファイルはここにあり、NAMESPACEここあります。

4

2 に答える 2

3

これを試して:

  1. proto オブジェクトを公開するには、ファイルで指定export("MongoDB")します。NAMESPACEMongoDB
  2. アクセス時に自動的に読み込まれるようにファイルで指定LazyData: yesします。DESCRIPTION
  3. .Rdそれをデータセットとして文書化するファイルを追加します。

その後、合格する必要がありR CMD checkます。

于 2012-12-22T11:38:33.120 に答える
1

このディレクティブ:

import(MongoDB)

MongoDB名前空間をパッケージにインポートすることを意味します。私が正しく理解していれば、おそらくあなたが望むものではないでしょう。

MongoDBオブジェクトをエクスポートしたいと思います。

export(MongoDB) 

正常に動作するはずです。

于 2012-12-22T10:16:37.197 に答える