在 Erlang 中,我可以使用定义宏或 .hrl 文件将配置保存在一个地方。在 Elixir 中最好的地方是什么。
我找不到任何优雅的方法。现在我正在做类似的事情: -
def get_server_name do
"TEST"
end
我错过了什么吗?
无论您使用函数还是宏最终都应该很重要,但是如果您要寻找的是“将其保存在一个地方”部分,我建议将其放在自己的命名空间/模块中
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