Im Versuch, einfach dieses Erlang-Programm zu erhalten Wert regelmäßig auszudrucken und ich bin mit diesem Modul so tun:Wie
-module(hot).
-export([start/0,handle_info/2, add/1]).
start() ->
Num = 0,
timer:send_interval(1000, interval),
{ok, Num}.
handle_info(interval, Num) ->
erlang:display(0),
{noreply, Num}.
add(X) ->
X+2.
Ich Referenzierung eines die Antworten von this post
ich habe auch versucht, eine Modifikation von oben Antwort wie folgt verwendet:
init([]) ->
Timer = erlang:send_after(1, self(), check),
{ok, Timer}.
handle_info(check, OldTimer) ->
erlang:cancel_timer(OldTimer),
erlang:display(0),
Timer = erlang:send_after(1000, self(), check),
{noreply, Timer}.
Nichts druckt in jedem Fall aus. Es sagt mir nur etwas wie {ok, < 0.43.0>}. Es scheint, dass handle_info nie aufgerufen wird.
natürlich. Es wäre besser, wenn Sie schreiben, was Sie tun (welcher Funktionsaufruf) und was Sie auf dem Display erwarten. –
erlang: Anzeige (0). Zeigen Sie einfach 0 an. An diesem Punkt ist es egal, was es ist, es ist nur ein Experiment. Ich rufe nur init() oder start(). – Khaines0625
Sie haben mich falsch verstanden, ich möchte wissen, was Sie als Ergebnis bekommen wollen. handle_info - wird für die Behandlung von spontanen Nachrichten in gen_server OTP verwendet. Sie müssen die vom Timer empfangene Nachricht bearbeiten. –