[erlang-questions] Order of evaluation of guards
Martin Koroudjiev
mrtndimitrov@REDACTED
Mon Jan 5 09:51:11 CET 2015
Hello,
First of all - Happy New Year!
Suppose we have a function that accepts 2 integers and we want to react
only when both integers are greater than 0 and one of them is less than 100:
I tried:
(dilbert@REDACTED)1> F = fun(N, M) when N > 0, M > 0, N < 100; M < 100
-> cool; (_, _) -> not_cool end.
#Fun<erl_eval.12.106461118>
(dilbert@REDACTED)2> F(1,2).
cool
(dilbert@REDACTED)3> F(1,200).
cool
(dilbert@REDACTED)4> F(0,200).
not_cool
(dilbert@REDACTED)5> F(0,50).
cool
The last is not correct.
What is the order of evaluation of the guards? Sadly parentheses are not
allowed in guards.
Best regards,
Martin
More information about the erlang-questions
mailing list