How to handle nested case
Gian Lorenzo Meocci
glmeocci@REDACTED
Sat Sep 18 19:14:37 CEST 2021
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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20210918/569b9ccc/attachment.htm>
More information about the erlang-questions
mailing list