【问题标题】:file:consult without the file part文件:不带文件部分的咨询
【发布时间】:2018-03-21 15:33:28
【问题描述】:

我正在编写一个需要作为输入的普通 proplist 的 escript:

脚本 "[{error_string, \"这坏了\"}]"

我现在想做的就是将任意字符串解析为实际的 proplists,通常我会将其写入文件,然后继续使用 file:consult 在文件上获取值——但这似乎有点过头了顶部 - 所以我的问题是,我该怎么做,即在不将数据发送到文件的情况下将输入字符串解析为 proplist?

【问题讨论】:

标签: erlang


【解决方案1】:
M1 = "[{error_string, \"This is broken\"}].",
{ok, S1, _} = erl_scan:string(M1),
erl_parse:parse_term(S1).

返回

{ok,[{error_string,"This is broken"}]}

【讨论】:

    【解决方案2】:

    最简单的方法是使用erl_eval,就像在Odobenus Rosmarus answer 中一样,即使它看起来有点复杂。只需记住将. 放在表达式的末尾。您可以在 Erlang Central Wiki 上阅读有关此主题的更多信息。

    但是,如果您正在构建 escript 以使用选项填充您的应用程序,我会研究成熟的参数解析器。我以前用过的一个是 https://github.com/jcomellas/getopt 。项目是稳定的,有足够好的文档,并且做的正是应该做的。它需要一点点配置,但创建的代码保持可读性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-24
      相关资源
      最近更新 更多