【问题标题】:Elixir: converting a struct to erlang for sys.configElixir:为 sys.config 将结构转换为 erlang
【发布时间】:2016-02-27 22:26:57
【问题描述】:

我正在使用一个名为 Tirexs 的库与弹性搜索进行交互,但它的环境配置仅适用于 %URI{} 结构。在生产环境中,所有的环境变量都是从 sys.config 加载的,这是一个 Erlang 数据结构。

Elixir 结构如何表示为 Erlang 数据结构?

【问题讨论】:

  • 看看这个Question and Answer是否回答了你的问题。
  • 加载配置模式的库中的代码与 %URI{} 结构匹配。我无法获得有效的数据结构来理解该答案
  • 结构在这里定义:github.com/Zatvobor/tirexs/blob/…(可能在同一个仓库的其他地方)。 Google 是您的朋友。
  • 这就是我遇到的问题。该库使用结构而不是更容易使用关键字列表。我们的部署指向一个从Application.get_env 加载的唯一elasticsearch 地址,如https://github.com/Zatvobor/tirexs/blob/aa5943f92faf66cf316066453d470738c9c4a446/lib/tirexs.ex#17 所示。 env 依次从 sys.config 加载,这是一个 erlang 数据结构。从您链接的混合文件中加载的默认值不适用于我们在生产中的弹性搜索,因为它位于远程集群上,而不是本地机器上。

标签: struct environment-variables elixir


【解决方案1】:

在 Erlang 中查看特定数据结构的最简单方法是打印它。

:io.format("~tw~n", [my_struct])

给出 Erlang 语法中任何术语的规范表示。从这个意义上说,它类似于 Elixir 的 inspect/2。

【讨论】:

    猜你喜欢
    • 2016-02-11
    • 1970-01-01
    • 2016-06-30
    • 2016-07-30
    • 2013-11-27
    • 2015-09-09
    • 1970-01-01
    • 2017-06-24
    • 2019-08-14
    相关资源
    最近更新 更多