gpt4 book ai didi

constants - ?在 Elixir 中定义宏或 .hrl 文件备用以进行配置

转载 作者:行者123 更新时间:2023-12-03 07:01:12 25 4
gpt4 key购买 nike

在 Erlang 中,我可以使用定义宏或 .hrl 文件将配置保留在一处。在 Elixir 中最好的地方是什么?

我找不到任何优雅的方法。现在我正在做类似的事情:-

def get_server_name do
"TEST"
end

我错过了什么吗?

最佳答案

最终是否使用函数或宏应该太重要了,但如果您正在寻找的是“将其保留在一个地方”部分,我建议将其放在自己的 namespace /模块中

defmodule MyApp.Configuration
def server_name do
"foo"
end

# or if you prefer having it all on one line
def host_name, do: "example.com"

# for complete equivalency, you can use a macro
defmacro other_config do
"some value"
end
end

然后在您的应用程序中,您可以为模块命名,而不是包含该文件,以便使用一个短前缀来指示它的配置,并指示它们来自其他地方

defmodule MyApp.Server do
alias MyApp.Configuration, as: C
end

或者如果您想直接使用名称

defmodule MyApp.Server do
import MyApp.Configuration
end

关于constants - ?在 Elixir 中定义宏或 .hrl 文件备用以进行配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19219009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com