次のErlangコードがあります:
#!/usr/bin/env escript
%%! -pz ../deps/amqp_client ../deps/rabbit_common ../deps/amqp_client/ebin ../deps/rabbit_common/ebin
% RMQ module
-module(rmq).
-export([main/1, send/1, validate/0, test/0]).
-include_lib("../deps/amqp_client/include/amqp_client.hrl").
main(_) ->
%send(<<"test_esio">>),
%validate(),
Pid = spawn(rmq, test, []),
% Pid = spawn(fun() -> test() end), <= I've tried this way too
Pid ! s.
test() ->
receive
s ->
io:format("BAR ~n"),
send(<<"esio">>),
test();
get ->
validate(),
test();
_ ->
io:format("FOO"),
test()
end.
私はこれを実行します:
excript rmq.erl
このコードは機能しません。スポーンがうまくいかないようです。
メインから実行すると、コードの残りの部分が機能し、関数 send と validate が正しく機能します (コメントしました)。私が間違っていることは何ですか?
すみません、ばかげた質問かもしれませんが、私はerlangの初心者です。インターネットや本で検索回答を試してみましたが、失敗しました...