Ошибка компилятора Erlang - PullRequest
       5

Ошибка компилятора Erlang

1 голос
/ 11 октября 2010

У меня есть следующий код

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 Ответ

3 голосов
/ 11 октября 2010

В Erlang выражения разделяются запятыми (а предложения разделяются точкой с запятой). Попробуйте:

loop(Data) -> 
    receive 
        {Key, Value} -> 
            loop([{Key, Value}|Data]); 
        {Key} -> 
            member(Key, Data),
            loop(Data);
        stop -> 
            io:format("server_stopped"), 
            ok   
    end.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...