Elixir語言中 Macro.decompose_call
相關用法介紹如下。
用法:
decompose_call(ast)
@spec decompose_call(t()) :: {atom(), [t()]} | {t(), atom(), [t()]} | :error
將本地或遠程調用分解為其遠程部分(如果提供)、函數名稱和參數列表。
提供無效調用語法時返回 :error
。
例子
iex> Macro.decompose_call(quote(do: foo))
{:foo, []}
iex> Macro.decompose_call(quote(do: foo()))
{:foo, []}
iex> Macro.decompose_call(quote(do: foo(1, 2, 3)))
{:foo, [1, 2, 3]}
iex> Macro.decompose_call(quote(do: Elixir.M.foo(1, 2, 3)))
{{:__aliases__, [], [:Elixir, :M]}, :foo, [1, 2, 3]}
iex> Macro.decompose_call(quote(do: 42))
:error
iex> Macro.decompose_call(quote(do: {:foo, [], []}))
:error
相關用法
- Elixir Macro.Env.fetch_alias用法及代碼示例
- Elixir Macro.prewalk用法及代碼示例
- Elixir Macro.generate_unique_arguments用法及代碼示例
- Elixir Macro.quoted_literal?用法及代碼示例
- Elixir Macro.Env.required?用法及代碼示例
- Elixir Macro.validate用法及代碼示例
- Elixir Macro.Env.prepend_tracer用法及代碼示例
- Elixir Macro.camelize用法及代碼示例
- Elixir Macro.operator?用法及代碼示例
- Elixir Macro.var用法及代碼示例
- Elixir Macro.unescape_string用法及代碼示例
- Elixir Macro.unique_var用法及代碼示例
- Elixir Macro.expand_once用法及代碼示例
- Elixir Macro.to_string用法及代碼示例
- Elixir Macro.Env.lookup_import用法及代碼示例
- Elixir Macro.prewalker用法及代碼示例
- Elixir Macro.postwalker用法及代碼示例
- Elixir Macro.underscore用法及代碼示例
- Elixir Macro.generate_arguments用法及代碼示例
- Elixir Macro.Env.has_var?用法及代碼示例
- Elixir Macro.Env用法及代碼示例
- Elixir Macro.escape用法及代碼示例
- Elixir Macro.update_meta用法及代碼示例
- Elixir Macro.unpipe用法及代碼示例
- Elixir Macro用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Macro.decompose_call(ast)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。