我是一个新来的erlang,我一直在学习在控制台/命令提示符下编码。现在我必须在编辑器上做下面的代码。我需要给定的数字(一个列表[1,2,3])的和与foldl/3函数。
lists:foldl(fun(X, Sum) -> X + Sum end,0,[1,2,3]).
-module(test).
-export([function1/1]).
function1(L) ->
L = [1,2,3],
lists:foldl(fun(X, Sum) -> X + Sum end, 0, L).
请原谅我的错误格式,请让我知道正确的方法来做同样的事情的编辑器。
先谢了
1条答案
按热度按时间zdwk9cvp1#
我一直在学习在控制台/命令提示符下编码。
这不是很聪明,但是如果你喜欢在shell中输入东西的单调乏味,那就试试吧。如果你在一个文件中输入代码,使用一个自动缩进的erlang代码编辑器,然后编译你的文件,你可以很容易地编辑文件进行修改,然后重新编译。
现在我必须在编辑器上执行下面的代码。
首先,这段代码有一个明显的错误,即你只能给一个变量赋值一次,如果你用一个参数调用这个函数,那么参数变量
L
将被赋值给这个参数,然而,在下一行,代码试图再次赋值给L
,错误!其次,你不能在shell中定义一个命名函数,但是你可以做几乎相同的事情:创建一个匿名函数并将其赋给一个变量。下面是一个例子:
=========
重读你的帖子后,听起来你想在控制台中转换这一行:
文件中定义的函数。该函数应该有一个参数,该参数是一个数字列表,应该使用
lists:foldl/3
对这些数字求和。对吗?如果对,下面是一个示例:1.将此代码放入某个目录下名为
a.erl
的文件中:注意模块名和文件名必须匹配。
1.在终端窗口中,将目录切换到包含该文件的目录,例如
1.然后执行以下操作:
必须使用语法
module:function
调用该函数。