当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。