[erlang-questions] eep: multiple patterns

mats cronqvist <>
Fri May 30 11:00:00 CEST 2008


Richard A. O'Keefe wrote:
>
> Now let's do it with abstract patterns.
>
> #quit() ->       quit;
> #quit() ->       {?MODULE,{signal,{window1,_}}};
> #quit() ->       {?MODULE,{signal,{quit1,_}}}.
> #connect() ->    {?MODULE,{signal,{connect,_}}}.
> #disconnect() -> {?MODULE,{signal,{disconnect,_}}}.
> #show_about() -> {?MODULE,{signal,{about1,_}}}.
> #hide_about() -> {?MODULE,{signal,{dialog1,_}}};
> #hide_about() -> {?MODULE,{signal,{dialogb,_}}}.
>
> #data(Data)   -> {data,Data}.
>
>     loop(State) ->
> 	receive
> 	    #quit()       -> quit()
> 	  ; #connect()    -> loop(conn(State))
> 	  ; #disconnect() -> loop(disc(State))
> 	  ; #show_about() -> loop(show_about(State))
>           ; #hide_about() -> loop(hide_about(State))
> 	  ; #data(Data)   -> loop(update(State, Data))
>           ; X             -> io:fwrite("got ~p~n", [X]),
> 			     loop(State)
> 	end.
>   
  very nice! if only i could compile it...


  mats



More information about the erlang-questions mailing list