Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %%%-------------------------------------------------------------------
- %%% @author przemek
- %%% @copyright (C) 2020, <COMPANY>
- %%% @doc
- %%%
- %%% @end
- %%% Created : 03. kwi 2020 21:29
- %%%-------------------------------------------------------------------
- -module(pollution).
- -author("przemek").
- -record(monitor, {stations = #{}, measurements = #{}}).
- %% API
- -export([createMonitor/0, addStation/3]).
- createMonitor() -> #monitor{}.
- isStationExists(Station, Monitor) ->
- case is_list(Station) of
- true -> maps:is_key(Station, Monitor#monitor.stations);
- _ -> case is_tuple(Station) of
- true -> lists:member(Station, maps:values(Monitor#monitor.stations));
- _ -> false
- end
- end.
- addStation(Name, {X, Y}, Monitor) when is_list(Name) and is_float(X) and is_float(Y) and is_record(Monitor, monitor) ->
- case isStationExists(Name, Monitor) of
- false -> Monitor;
- true -> #monitor{stations = maps:put(Name, {X,Y}, Monitor#monitor.stations), measurements = Monitor#monitor.measurements}
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement