Erlang 中的条件表达式与异常处理
1. case 和 if 表达式
在 Erlang 编程中,模式匹配是一个常用的工具,它让代码简洁且一致。但有时为每个情况都定义单独的函数子句会很不方便,这时就可以使用 case 或 if 表达式。
1.1 case 表达式
case 表达式的语法如下:
case Expression of
Pattern1 [when Guard1] -> Expr_seq1;
Pattern2 [when Guard2] -> Expr_seq2;
...
end
其计算过程为:首先计算 Expression 的值,假设结果为 Value 。然后依次将 Value 与 Pattern1 (可选的 Guard1 )、 Pattern2 等进行匹配,直到找到匹配项。一旦找到匹配项,就会计算相应的表达式序列,该序列的计算结果就是 case 表达式的值。如果没有匹配的模式,则会抛出异常。
例如,对于 filter 函数,使用模式匹配定义如下:
filter(P, [H|T]) -
超级会员免费看
订阅专栏 解锁全文
63

被折叠的 条评论
为什么被折叠?



