私のRパッケージは内部変数を使用していますx。パッケージをロードすると(使用してみただけですdevtools::load_all)、リストにx表示されませんが、値はあります。ls()どうすればこれを回避できますか?
ユーザーがで変数にアクセスできるのは問題ありmyPackage::xませんが、単にではありませんx。
私のRパッケージは内部変数を使用していますx。パッケージをロードすると(使用してみただけですdevtools::load_all)、リストにx表示されませんが、値はあります。ls()どうすればこれを回避できますか?
ユーザーがで変数にアクセスできるのは問題ありmyPackage::xませんが、単にではありませんx。
load_all関数には引数export_allがあります。
から?load_all
TRUE(デフォルト)の場合、すべてのオブジェクトをエクスポートします。FALSEの場合、NAMESPACEファイルにエクスポートとしてリストされているオブジェクトのみをエクスポートします。
だから、export_all=FALSEあなたのload_all呼び出しで使用してみてください。
最初にパッケージをビルドしてみて、問題がまだ存在するかどうかを確認してください。パッケージからのエクスポートはNAMESPACEファイルで定義されています。を使用するdevtools::load_allと、名前空間はロードされません(ここを参照)。これとパッケージの構築について詳しくは、マニュアルの「R拡張機能の作成」を参照してください。
NAMESPACEファイルでデフォルトのエクスポートパターンを使用している可能性があります。パッケージで確認してください。次のようになっている場合は、次のようになります。
exportPattern("^[^\\.]")
次に、パッケージはドットで始まらない名前空間からすべてをエクスポートします。だからあなたはそれを呼ぶか.x、例えばに変更しexportPattern()ます...
export(myfun1, myfun2)
myfun1関数とmyfun2パッケージからエクスポートします。エクスポートするものを明示的に定義することにより、必要のないときに何かが利用可能になるのを回避できます。