Function 调用一个函数,该函数是另一个函数调用的结果
我有一个函数,它接受两个参数并返回一个arity为1的函数:Function 调用一个函数,该函数是另一个函数调用的结果,function,lambda,erlang,Function,Lambda,Erlang,我有一个函数,它接受两个参数并返回一个arity为1的函数: make_fun(A, B) -> fun(C) -> A + B + C end. 我使用上面的函数创建一个函数,然后将其应用于如下参数: Fun = make_fun(1,2), Result = Fun(3). 因此在此之后,Result=6 问题是:有没有一种方法可以在不将函数存储在Fun中的情况下执行相同的操作 像这样的东西很理想,但似乎不起作用: Result = mak
make_fun(A, B) ->
fun(C) ->
A + B + C
end.
我使用上面的函数创建一个函数,然后将其应用于如下参数:
Fun = make_fun(1,2),
Result = Fun(3).
因此在此之后,Result=6
问题是:有没有一种方法可以在不将函数存储在Fun
中的情况下执行相同的操作
像这样的东西很理想,但似乎不起作用:
Result = make_fun(1,2)(3).
这个怎么样
结果=有趣(使有趣(1,2))
只需将make_fun
放在括号中:
(make_fun(1, 2))(3).
(make_-fun(1,2))(3)
?@Dogbert是的,这很有效,谢谢你可能误读了这个问题,我尽量不使用fun
(make_fun(1, 2))(3).