[erlang-questions] If Condition vs. Multiple Function Clauses
Steve Davis
steven.charles.davis@REDACTED
Mon Jun 17 15:06:29 CEST 2013
Hi Richard,
Yep, you changed my mind (again). I wasn't thinking about this correctly.
Thanks very much for your replies,
Steve
On Jun 16, 2013, at 6:19 PM, "Richard A. O'Keefe" <ok@REDACTED> wrote:
>
> On 16/06/2013, at 1:30 AM, Steve Davis wrote:
>
>> Yep, that would be a better, more consistent way to go...
>>
>> if M == N -> a();
>> M > N -> b();
>> _ -> c()
>> end.
>
> Let's see, this says
> "Should the test M == N succeed, compute a().
> Otherwise, should the test M >N succeed, compute b().
> Otherwise, take a new variable that has never been given
> any value whatsoever; should that variable, contrary to
> all sane expectation, somehow magically turn out to be
> bound to a succeeding test, compute c()."
>
> Just how is the "_" supposed to get a value here?
>
> By the way, anyone who is really suffering from the lack of 'else'
> can just
> -define(else, true).
> and then
> if M < N -> c()
> ; M > N -> b()
> ; ?else -> a()
> end
> and be done with it, although putting M == N there instead would
> make it more obvious to one's readers, should one _have_ readers.
>
More information about the erlang-questions
mailing list