當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir Application.compile_env用法及代碼示例


Elixir語言中 Application.compile_env 相關用法介紹如下。

用法:

compile_env(app, key_or_path, default \\ nil)
(從 1.10.0 開始) (宏)
@spec compile_env(app(), key() | list(), value()) :: value()

在編譯時讀取應用程序環境。

類似於 get_env/3 ,除了它必須用於在編譯時讀取值。這允許 Elixir 跟蹤配置值在編譯時和運行時之間何時發生變化。

第一個參數是應用程序名稱。第二個參數key_or_path 是一個原子鍵,或者是在搜索配置時要遍曆的路徑,從原子鍵開始。

例如,想象以下配置:

config :my_app, :key, [foo: [bar: :baz]]

我們可以在編譯時訪問它:

Application.compile_env(:my_app, :key)
#=> [foo: [bar: :baz]]

Application.compile_env(:my_app, [:key, :foo])
#=> [bar: :baz]

Application.compile_env(:my_app, [:key, :foo, :bar])
#=> :baz

默認值也可以作為第三個參數給出。如果沿途路徑中的任何鍵丟失,則使用默認值:

Application.compile_env(:my_app, [:unknown, :foo, :bar], :default)
#=> :default

Application.compile_env(:my_app, [:key, :unknown, :bar], :default)
#=> :default

Application.compile_env(:my_app, [:key, :foo, :unknown], :default)
#=> :default

提供路徑有助於讓 Elixir 知道隻有大型配置中的某些路徑是編譯時間相關的。

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Application.compile_env(app, key_or_path, default \\ nil)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。