如何在Elixir中将宏列表转换为字符串

时间:2018-12-19 19:08:57

标签: elixir

我在Elixir中有一个宏列表,请尝试用引号引起来,请帮助我。

我想将[Id, Node, Timestamp]转换为"[Id, Node, Timestamp]"

我该怎么做?

2 个答案:

答案 0 :(得分:2)

<blink>原子的列表,而不是的列表。

原子是简单的术语,因此,普通的旧商品Kernel.inspect/2绝对可以。

[Id, Node, Timestamp]

答案 1 :(得分:1)

如果您使用带引号的表达式,我相信您正在寻找Macro.to_string/2

iex> ast = quote do: [Id, Node, Timestamp]
[Id, Node, Timestamp]
iex> Macro.to_string(ast)
"[Id, Node, Timestamp]"

但是,就像Aleksei指出的那样,原子列表的AST本身就是它,因此,如果您仅尝试将其转换为字符串,Kernel.inspect/2会完成同样的事情。