【发布时间】:2013-02-28 16:18:50
【问题描述】:
是否可以在 lambda 中合并 case 语句?
我正在尝试创建一个在 Erlang 中递归地添加两个数字的函数,但没有运气。
Mult = fun(X) -> (fun(Y) -> case Y of
0 -> 0;
Y -> X + fun(Y-1)
end)
end.
收到错误
syntax error before: 'end'
【问题讨论】:
-
你想在子句
Y -> X + fun(Y-1)中调用什么函数? -
如前所述,
fun(Y-1)是问题所在。有关匿名函数如何调用自身的示例,请参阅 this answer。
标签: lambda functional-programming erlang currying