2017-06-12 14 views
0

Rパッケージを開発しています。私の関数の動作は環境変数ENV_VARに依存します。デフォルト値はfooです。ユーザーはSys.setenv(ENV_VAR = 'bar')を使用して実行時にENV_VARを変更することもできます。私はこのRパッケージを書く:パッケージがロードされるときに自動的に環境変数を設定する

Sys.setenv(ENV_VAR = 'foo') 

#' @export 
my_funciton <- function(){ 
    v <- Sys.getenv(ENV_VAR) 
    if (v == 'foo') ... else if (v == 'bar') ... 
} 

を試してみましたが、私が構築し、RStudioでパッケージを再ロードするとき、私はSys.getenv(ENV_VAR)は、パッケージをロードするときすなわち、それはfooとして環境ENV_VARを設定しなかった、""できます実行します。予想通りにmy_functionもエラーを発生させる:Error in Sys.getenv(ENV_VAR) : object 'ENV_VAR' not found

+0

'.onLoad'または' .onAttach'(および対応するクリーンアップバージョン)を見て、パッケージがデタッチ/アンロードされた場合にリセットできるようにしたいと考えています。 – joran

答えて

0

コメントは、.onLoad私が必要とするものです。

関連する問題