Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.57 KB | None | 0 0
  1. loop() ->
  2.     receive
  3.         {From, Msg} ->
  4.             if
  5.                 is_integer(Msg), Msg >= 0 ->
  6.                     From ! {self(), factorial(Msg)},
  7.                     loop();
  8.                 Msg == stop ->
  9.                     From ! {self(), papa};
  10.                 true ->
  11.                     From ! {self(), Msg},
  12.                     loop()
  13.             end        
  14.     end.
  15.    
  16. start() ->
  17.     spawn(echo, loop, []).
  18.    
  19. send(Pid, MSG) ->
  20.     B = is_process_alive(Pid),
  21.     if
  22.         B ->
  23.             Pid ! {self(), MSG},
  24.             receive
  25.                 {Pid, Msg} ->
  26.                     io:format("~w~n", [Msg])
  27.                 end;
  28.         true ->
  29.             io:format("Watek nie zyje~n")  
  30.     end.
  31.    
  32. factorial(N) ->
  33.     if
  34.         N == 0 -> 1;
  35.         N > 0 -> N * factorial(N-1)
  36.     end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement