當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。