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