나는 꽤 이해할 수없는 코드 조각을 발견했습니다.얼랭 - 기본 오류 코드 이해에 대한 도움말
% spawn process which waits for a message and prints it
Pid = spawn(fun() ->
receive
X -> io:fwrite("I received: ~p~n", [X])
end
end),
% send a message to the new process
Pid ! {message, "Hello"}.
마지막 줄의 "message"는 모듈에 정의 된 원자입니까? 나는 그 부분을 정말로 이해할 수 없다.
이해하려는 시도는 다음과 같습니다. 첫 번째 요소가 내용을 설명하는 튜플에 저장합니다. 예 : {celsius, 55}
. 덜 명확한 것은 원자 메시지가 모듈에 정의되어 있지 않다는 것입니다. 그것을 정의해야합니까? 선언을 할 필요가 없으므로 사용하기 전에 원자를 정의 할 필요가 없다고 생각합니다. 나 맞아?
도움 주셔서 감사합니다.
코드는 here입니다.
예. 원자는 일반적으로 리터럴입니다. 마주 칠 때 원자 표에 추가됩니다. 다른 GC 사용 가능 언어에서 문자열 리터럴과 같은 방식으로 사용하십시오. erl에서 코드를 실행하여보십시오! 여기에 게시하는 것보다 훨씬 재미 있습니다. – zxq9