[erlang-questions] How do I elegantly check many conditions?

Hynek Vychodil vychodil.hynek@REDACTED
Fri Mar 20 15:43:30 CET 2009


Pattern match is one of coolest things in Erlang. Note that you can involve
your tag to badmatch error

{my_tag, ok} = {my_tag, my_call(X)}

and custom data too

{my_tag, ok, X} = {my_tag, my_call(X), X}

cool, isn't it?

On Fri, Mar 20, 2009 at 3:34 PM, Paul Fisher <pfisher@REDACTED> wrote:

> Hynek Vychodil wrote:
>
>> One of Joe's suggestion: program success case code separated from error
>> handling. You can make it in this way
>>
>> create_user(Email, UserName, Password) ->
>>  try
>>    ok = new_email(Email),
>>    ok = valid_user_name(UserName),
>>    ok = new_user(UserName),
>>    ok = strong_password(Password),
>>    ...
>>    _create_user(Email, UserName, Password)
>>  catch
>>    error:{badmatch, email_in_use} -> do_something();
>>    error:{badmatch, invalid_user_name} -> do_something();
>>    error:{badmatch, user_exists} -> do_something();
>>    error:{badmatch, weak_password} -> do_something();
>>    ...
>>  end.
>>
>
> +1 Bravo!
>
>
> --
> paul
>
>


-- 
--Hynek (Pichi) Vychodil

Analyze your data in minutes. Share your insights instantly. Thrill your
boss.  Be a data hero!
Try Good Data now for free: www.gooddata.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090320/8fc8d0b8/attachment.htm>


More information about the erlang-questions mailing list