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
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
相关文章推荐
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
- erlang判断语法结构:if/case/guard
- Erlang if、case、guard和函数
- 分支判断选择的另外一种方式(类似switch case和if elseif),使用正则表达式定义的宏函数
- erlang判断语法结构:if/case/guard
- erlang的case和if
- puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless
- Erlang学习笔记(二)Erlang基础语法之If、Case的使用
- Erlang笔记(05) - Erlang条件判断: if, case, when
- Erlang(5):控制结构when,if,case,for
- 黑马程序员--if..else...和switch....case和循环结构和三元表达式
- Erlang学习笔记(5) -- 断言, when / case of / if
- Linux学习--第十一天--source、环境变量目录、欢迎信息、正则、cut、awk、sed、sort、判断表达式、if、for、case、一些脚本
- Erlang:条件判断3种方法,函数参数模式匹配、case模式匹配、if
- if和case语句
- bash if 表达式
- sql server 【while】,【case】,【if..else ...】,【try catch .】对象
- Python 学习笔记 - 4.if 表达式
- if(表达式) 表达式为0,不执行if里面的,不为0执行。
- Shell if中的正则表达式使用详解