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


Elixir Macro.decompose_call用法及代碼示例

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-lang.org大神的英文原創作品 Macro.decompose_call(ast)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。