为什么当我们可以调用匿名函数时使用apply/2
?
不一样吗?
iex(40)> f = fn x -> x + 1 end
#Function<7.126501267/1 in :erl_eval.expr/5>
iex(41)> apply(f, [1])
2
iex(42)> f.(1)
2
[Kernel.apply/3
的典型用例是在Kernel.apply/3
不是静态的情况下是动态调用,但是{m, f, a}
[最有可能存在]可以简化将函数传递到其应用程序的过程。
Kernel.apply/2