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


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。