我已经开始在 Erlang 中进行一些实践,我得到:** 1: syntax error before: '->' **
每当我声明任何功能时,例如。计算列表的总和(这是实验性的,当然有内置函数用于查找列表的总和)。
sum([]) -> 0;
sum([H | T]) -> H + sum(T).
在 erl shell 中(v 5.5.5)。
提前致谢
您不能使用与 erl 文件中相同的语法在 shell 中定义函数。
不过你可以定义乐趣。
shell 中的语法必须是:
Sum = fun([], _) -> 0; ([H | T], F) -> H + F(T, F) end,
Sum([1,2,3], Sum).
请注意,递归匿名函数(就是这样)的定义方式很丑陋。您基本上必须将函数作为参数传递给其自身。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)