当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Elixir Macro.to_string用法及代码示例


Elixir语言中 Macro.to_string 相关用法介绍如下。

用法一

to_string(tree)
@spec to_string(t()) :: String.t()

将给定的表达式 AST 转换为字符串。

此函数丢弃原始代码的所有格式。请参阅 Code.quoted_to_algebra/2 作为对格式进行更多控制的较低级别的函数。

例子

iex> Macro.to_string(quote(do: foo.bar(1, 2, 3)))
"foo.bar(1, 2, 3)"

用法二

to_string(tree, fun)
此函数已弃用。请改用 Macro.to_string/1。
@spec to_string(t(), (t(), String.t() -> String.t())) :: String.t()

将给定的表达式 AST 转换为字符串。

给定的fun 为 AST 中的每个节点调用两个参数:正在打印的节点的 AST 和同一节点的字符串表示。此函数的返回值用作该 AST 节点的最终字符串表示形式。

此函数丢弃原始代码的所有格式。

例子

Macro.to_string(quote(do: 1 + 2), fn
  1, _string -> "one"
  2, _string -> "two"
  _ast, string -> string
end)
#=> "one + two"

相关用法


注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Macro.to_string(tree)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。