Guest User

Untitled

a guest
Sep 2nd, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.92 KB | None | 0 0
  1. -module(anillos2).
  2. %-export([ringcreation/1, ring/1, init/1]).
  3. -compile(export_all).
  4.  
  5. ring(Pid) ->
  6.     receive
  7.         {Mensaje, 0} -> ring(Pid);
  8.             {Mensaje, N} ->
  9.             Pid!{Mensaje, N-1},
  10.             io:format("Soy ~p y me llego: ~p~n",[self(),Mensaje]),
  11.             ring(Pid);
  12.             {'exit'} ->
  13.             io:format("termine ~p~n", [self()]),
  14.             Pid!{'exit'}
  15.     end.
  16.  
  17. ringcreation(N) ->
  18.     ring(ringcreation(self(), N-1)).
  19.  
  20. ringcreation(Pid,1) ->
  21.     X = spawn(?MODULE, ring, [Pid]),
  22.     io:format("hola soy ~p~n",[X]),
  23.     X;
  24. ringcreation(Pid,N) ->
  25.     X = spawn(?MODULE,ring,[ringcreation(Pid,N-1)]),
  26.     io:format("hola soy ~p~n",[X]),
  27.     X.
  28.  
  29. init() ->
  30.     Pid = spawn(?MODULE,ringcreation,[8]),
  31.     io:format("El Primero es ~p ~n",[Pid]),
  32.     receive
  33.         after(2000) -> ok
  34.     end,
  35.     Pid!{"caballo",5},
  36.     ok.
  37.  
  38. %fijate que toque la funcion ringcreation para que devuelva el Pid que se le pasa. Por lo que
  39. %te puse en Facebook. Me parece que ahora anda. Abrazoo!!
Add Comment
Please, Sign In to add comment