Elixir语言中 Kernel.apply
相关用法介绍如下。
用法一
apply(fun, args)
@spec apply((... -> any()), [any()]) :: any()
使用参数列表 args
调用给定的匿名函数 fun
。
如果在编译时知道参数的数量,则首选 fun.(arg_1, arg_2, ..., arg_n)
因为它比 apply(fun, [arg_1, arg_2, ..., arg_n])
更清晰。
由编译器内联。
例子
iex> apply(fn x -> x * 2 end, [2])
4
用法二
apply(module, function_name, args)
@spec apply(module(), function_name :: atom(), [any()]) :: any()
使用参数列表从 module
调用给定函数 args
。
用于调用在运行时动态定义模块、函数名称或参数的函数。因此,您不能使用 apply/3
调用宏,只能调用函数。apply/3
如果在编译时知道参数的数量和函数名称,则首选 module.function(arg_1, arg_2, ..., arg_n)
因为它比 apply(module, :function, [arg_1, arg_2, ..., arg_n])
更清晰。
不能用于调用私有函数。apply/3
由编译器内联。
例子
iex> apply(Enum, :reverse, [[1, 2, 3]])
[3, 2, 1]
相关用法
- Elixir Kernel.abs用法及代码示例
- Elixir Kernel.SpecialForms.case用法及代码示例
- Elixir Kernel.round用法及代码示例
- Elixir Kernel.left / right用法及代码示例
- Elixir Kernel.put_in用法及代码示例
- Elixir Kernel.tl用法及代码示例
- Elixir Kernel.left - right用法及代码示例
- Elixir Kernel.tuple_size用法及代码示例
- Elixir Kernel.defexception用法及代码示例
- Elixir Kernel.to_charlist用法及代码示例
- Elixir Kernel.base ** exponent用法及代码示例
- Elixir Kernel.left !== right用法及代码示例
- Elixir Kernel.if用法及代码示例
- Elixir Kernel.spawn_monitor用法及代码示例
- Elixir Kernel.to_string用法及代码示例
- Elixir Kernel.length用法及代码示例
- Elixir Kernel.first..last用法及代码示例
- Elixir Kernel.SpecialForms.%{}用法及代码示例
- Elixir Kernel.SpecialForms.for用法及代码示例
- Elixir Kernel.then用法及代码示例
- Elixir Kernel.spawn用法及代码示例
- Elixir Kernel.defmodule用法及代码示例
- Elixir Kernel.SpecialForms.quote用法及代码示例
- Elixir Kernel.left > right用法及代码示例
- Elixir Kernel.binding用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Kernel.apply(fun, args)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。