0
나는 erlang 프로그램에서 작동하고 이상한 런타임 오류가 발생합니다. 왜 그런가? 감사!Erlang 런타임 오류
오류는 (프로그램을 성공적으로 컴파일 한 후)입니다
8> PID = spawn(planner,start,[]).
** exception error: no match of right hand side value <0.65.0>
9>
이 프로그램입니다 :
변수PID
아마 이전 라인에서 뭔가하지만
<0.65.0>
로 설정되어
-module(planner).
-export([start/0]).
start() ->
loop([],[]).
loop(ContactsList,EventsList) ->
receive
{contact, Last, First, Number} ->
loop([{Last,First,Number}|ContactsList],EventsList);
{event, Date, Time, What} ->
loop([{Date,Time,What}|ContactsList],EventsList);
print_contacts ->
NewList=lists:sort(ContactsList),
lists:foreach(fun(Elem)->io:format("~p~n", [Elem]) end, NewList),
loop(ContactsList,EventsList);
print_events ->
NewList=lists:sort(EventsList),
lists:foreach(fun(Elem)->io:format("~p~n", [Elem]) end, NewList),
loop(ContactsList,EventsList);
exit ->
io:format("Exiting.~n");
_ ->
io:format("Dude, I don't even know what you're talking about.~n"),
loop(ContactsList,EventsList)
end.
이전 의견에서 혼란 스러울 경우 사과드립니다. 나는 답변을하는 과정에서 자신의 질문을 편집했다. –
좋은 답변입니다! 예, 저는 잠시 동안 쉘을 사용하고 있었고 PID가 이미 다른 것으로 설정되어 있다는 사실을 잊었습니다. 하 - 불변 변수. :) –
응답에 erlang의 변수를 추가 할 수 없습니다. 변수는 한 번만 값으로 할당 할 수 있습니다. 이것은 언어의 아름다움 중 하나입니다 :) – Arunmu