Ich bin auf ein Stück Code gestoßen, das ich nicht ganz verstehen kann. Es sieht so aus:Erlang - Hilfe beim Verständnis des grundlegenden Erlang-Codes
% 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"}.
In der letzten Zeile, ist "Nachricht" ein Atom, das im Modul definiert ist? Ich kann diesen Teil nicht wirklich verstehen.
Mein Versuch, es zu verstehen, wäre das: Wir speichern Dinge in Tupeln, in denen das erste Element beschreibend für den Inhalt ist. Zum Beispiel: {celsius, 55}
. Was weniger klar ist, ist, dass die Atommeldung nicht im Modul definiert ist. Müssen Sie es definieren? Keine Deklaration ist notwendig, also denke ich, dass Sie das Atom nicht definieren müssen, bevor Sie es verwenden. Hab ich recht?
Danke für die Hilfe!
Der Code ist von here.
Ja. Atome sind im Allgemeinen Literale. Sie werden zur Atomtabelle hinzugefügt, wenn sie gefunden werden. Verwenden Sie sie wie ein Zeichenfolgenliteral in einer anderen GC-aktivierten Sprache. Führen Sie den Code in erl aus und sehen Sie! Es macht viel mehr Spaß als hier zu posten. – zxq9