-module(prog).
-export([main/0]).
main() ->
Pid = spawn(fun() -> loop(0) end),
R1 = procidurka(Pid, get_n),
io:
format("procidurka returned :~p~n",[R1]), R2 = procidurka(Pid, get_n),
io:
format("procidurka returned :~p~n",[R2]), R3 = procidurka(Pid, get_n),
io:
format("procidurka returned :~p~n",[R3]).
procidurka(Pid, Request) ->
Pid ! {self(), Request},
receive
Response
->
Response
end.
loop(N) ->
receive
{From, get_n} ->
From ! N,
loop(N+1);
{From, Other} ->
From ! {error,Other},
loop(N)
end.
LW1vZHVsZShwcm9nKS4KLWV4cG9ydChbbWFpbi8wXSkuCgptYWluKCkgLT4KICBQaWQgPSBzcGF3bihmdW4oKSAtPiBsb29wKDApIGVuZCksCiAgUjEgPSBwcm9jaWR1cmthKFBpZCwgZ2V0X24pLAogIGlvOmZvcm1hdCgicHJvY2lkdXJrYSByZXR1cm5lZCA6fnB+biIsW1IxXSksCiAgUjIgPSBwcm9jaWR1cmthKFBpZCwgZ2V0X24pLAogIGlvOmZvcm1hdCgicHJvY2lkdXJrYSByZXR1cm5lZCA6fnB+biIsW1IyXSksCiAgUjMgPSBwcm9jaWR1cmthKFBpZCwgZ2V0X24pLAogIGlvOmZvcm1hdCgicHJvY2lkdXJrYSByZXR1cm5lZCA6fnB+biIsW1IzXSkuCgkKcHJvY2lkdXJrYShQaWQsIFJlcXVlc3QpIC0+CiAgUGlkICEge3NlbGYoKSwgUmVxdWVzdH0sCiAgcmVjZWl2ZQogICAgUmVzcG9uc2UKICAgICAgLT4KICAgICAgICBSZXNwb25zZQogIGVuZC4gIAogIApsb29wKE4pIC0+CiAgcmVjZWl2ZQogICAge0Zyb20sIGdldF9ufSAtPgogICAgICBGcm9tICEgTiwKICAgICAgbG9vcChOKzEpOwogICAge0Zyb20sIE90aGVyfSAtPgogICAgICBGcm9tICEge2Vycm9yLE90aGVyfSwKICAgICAgbG9vcChOKQogIGVuZC4=