Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -module(kitchen).
- -compile(export_all).
- fridge2(FoodList) ->
- receive
- {From, {store, Food}} ->
- From ! {self(), ok},
- fridge2([Food|FoodList]);
- {From, {take, Food}} ->
- case lists:member(Food, FoodList) of
- true ->
- From ! {self(), {ok, Food}},
- fridge2(lists:delete(Food, FoodList));
- false ->
- From ! {self(), not_found},
- fridge2(FoodList)
- end;
- terminate ->
- ok
- end.
- store(PidOfFridge, Food) ->
- PidOfFridge ! {self(), {store, Food}},
- receive
- {PidOfFridge, Msg} ->
- Msg
- end.
- take(PidOfFridge, Food) ->
- PidOfFridge ! {self(), {take, Food}},
- receive
- {PidOfFridge, Msg} ->
- Msg
- end.
- start(FoodList) ->
- spawn(?MODULE, fridge2, [FoodList]).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement