case表达式
case Expression of
Pattern1 [when Guard1] -> exp1;
Pattern2 [when Guard2] -> exp2;
...
end.
使用case表达式,可以增强代码的可读性,简化代码结构。
举例:
1. 过滤函数filter(P,L) 使用模式匹配定义
filter(P,[H|T]) -> filter1(P(H) , H , P , T);
filter(P,[]) -> [].
filter1(true,H,P,T) ->[H | filter(P , T)];
filter1(false,H,P,T) -> filter(P , T).
filter(P,L)使用case表达式定义:
filter(P , [H|T]) ->
case P(H) of
true ->
[H | filter(P , T)];
false ->
filter(P , T);
end;
filter(P , []) ->
[].
if 表达式
if Guard1 ->
Expr1;
Guard2 ->
Expr2;
end