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