我有那样的一段代码:在Erlang的case语句中有多个匹配?
case sth of
{a, 1} -> doA();
{a, 2} -> doA();
{a, 3} -> doB()
end.
有没有办法不重复“DOA()”的一部分?我认为这应该很容易,但我无法在谷歌找到答案。
case sth of
{a, Var} when Var < 3-> doA();
{a, 3} -> doB()
end.
而且你的表情(sth
)在这里这意味着它可以永远不会匹配任何这些案件的原子:
我的问题稍微一般。 – zie1ony 2012-07-08 21:04:00
这也是有风险的,因为1和2 <3,是的,但也是0,-1,-2,... – 2012-07-12 15:00:21