将引用的elixir代码转换为代码字符串

Pet*_*ton 4 metaprogramming elixir abstract-syntax-tree

我有一种情况,我期待一些引用的灵药代码是一个原子.如果传入错误的引用代码我想引发错误并显示错误代码是什么.

最简单的方式来展示我需要的是一个例子.

quoted_code = quote do: %{}
"%{}" = some_func(quoted_code)
Run Code Online (Sandbox Code Playgroud)

mic*_*ala 7

你可以实现这一目标 Macro.to_string/2

Macro.to_string(quote do: %{}) #=> "%{}"
Run Code Online (Sandbox Code Playgroud)