为什么调用Elixir Kernel.apply / 2而不是调用匿名函数?

问题描述 投票:0回答:1

为什么当我们可以调用匿名函数时使用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
elixir
1个回答
1
投票

[Kernel.apply/3的典型用例是在Kernel.apply/3不是静态的情况下是动态调用,但是{m, f, a} [最有可能存在]可以简化将函数传递到其应用程序的过程。

Kernel.apply/2
© www.soinside.com 2019 - 2024. All rights reserved.