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