簡體   English   中英

編寫R包:加載包時自動設置環境變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM