您的位置:首页 > 其它

Erlang的case/if表达式

2013-08-08 14:37 92 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: