Erlang编译器错误

时间:2010-10-11 00:57:42

标签: erlang

我有以下代码

loop(Data) ->
receive
    {Key, Value} ->
    [{Key, Value}|Data];
    {Key} ->
        member(Key, Data);
14  loop(Data);
    stop ->
        io:format("server_stopped"),
        ok  
end .

我收到以下错误(我在代码中输入第14行)

  

./ dist_erlang.erl:14:之前的语法错误:';'   ./dist_erlang.erl:2:函数循环/ 1未定义   ./dist_erlang.erl:28:警告:函数成员/ 2未使用

我不确定上面代码的语法问题是什么。我有一个名为member的方法,由于第14行的语法错误不同而给出错误。我确定。

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

在Erlang中,表达式由逗号分隔(并且子句以分号分隔)。尝试:

loop(Data) -> 
    receive 
        {Key, Value} -> 
            loop([{Key, Value}|Data]); 
        {Key} -> 
            member(Key, Data),
            loop(Data);
        stop -> 
            io:format("server_stopped"), 
            ok   
    end.