我正在开发一个R包,我希望我的一个函数的行为取决于环境变量ENV_VAR
,其默认值为foo
,而用户也可以更改此{ {1}}在运行时使用ENV_VAR
。我试过这个
Sys.setenv(ENV_VAR = 'bar')
但是当我在RStudio中构建并重新加载包时,我运行Sys.setenv(ENV_VAR = 'foo')
#' @export
my_funciton <- function(){
v <- Sys.getenv(ENV_VAR)
if (v == 'foo') ... else if (v == 'bar') ...
}
给出了Sys.getenv(ENV_VAR)
,即,在加载包时,它没有将环境""
设置为ENV_VAR
}。可预测foo
也会引发错误:my_function
答案 0 :(得分:0)
就像@joran所评论的那样,.onLoad
功能就是我所需要的。