[erlang-questions] is there "return" in Erlang.
Masklinn
masklinn@REDACTED
Mon Feb 28 09:41:02 CET 2011
On 2011-02-28, at 04:55 , yted wrote:
> hello Wang:
> in fact "case" do work, like the codes below:
>
> judge() ->
> A = getA(),
> B = getB(),
> case [A,B] of
> [CONF1, _] ->
> doSomeThing(A);
> [_, CONF2] ->
> doOtherThing(B);
> [_,_] ->
> doThings()
> end.
Yes, but 'tis not equivalent to the original code: `getA` and `getB` may have side-effects, in which case it would be expected that `getB` isn't executed if the first condition is true.
Closer to the original code would probably be along the lines of:
judge() ->
case getA() of
CONF1 -> doSomeThing(CONF1);
_ ->
case getB() of
CONF2 -> doOtherThing(CONF2);
_ -> doThings()
end
end.
More information about the erlang-questions
mailing list