How to handle nested case
Gian Lorenzo Meocci <[email protected]>
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <CAAPjnHWhWhbOSquTCKjKJWhef-nGzEcRVGAyrRagxsrj_E9fiw@mail.gmail.com> |
Hi,
I have a function like this:
get_nas_from_conf() ->
case get_radius_host() of
{ok, Server} ->
case get_radius_port() of
{ok, Port} ->
case get_radius_secret() of
{ok, Secret} ->
{Server, Port, Secret};
E -> E
end;
E ->
E
end;
E ->
E
end.
Which is the best way to write this kind of function?
I'd like to have a with operator like in Elixir, to rewrite my function in
this way:
get_nas_from_conf() ->
with {ok, Server} <- get_radius_host(),
{ok, Port} = get_radius_port(),
{ok, Secret} = get_radius_secret() ->
{Server, Port, Secret};
catch
{error, _Reason} = E ->
E
end.
Any suggestion?
--
GL
https://www.meocci.it <https://meox.github.io>