[英]Writing an R package: automatically set environment variables when the package is loaded
我正在開發的R包,喜歡我我的功能之一的行為取決於環境變量ENV_VAR
,其默認值為foo
,同時用戶也可以改變這個ENV_VAR
在運行時使用Sys.setenv(ENV_VAR = 'bar')
。 我試過了
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)
給出""
,即,在加載程序包時,它沒有將環境ENV_VAR
設置為foo
。 可預測的my_function
也會引發錯誤: Error in Sys.getenv(ENV_VAR) : object 'ENV_VAR' not found
錯誤: Error in Sys.getenv(ENV_VAR) : object 'ENV_VAR' not found
就像@joran所說, .onLoad
函數是我所需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.