首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

erLang学些札记5-条件判断语法2

2012-10-30 
erLang学些笔记5--条件判断语法2一:if 表达式之true的使用true:在if结构中表示除此之外的所有情况!对于 if

erLang学些笔记5--条件判断语法2

一:if 表达式之true的使用

true:在if结构中表示除此之外的所有情况!

对于 if else 的结构 我们采用的是

?

注意分号就是orelse的意思,erlang 的语法有时候看起来很没规律!很强调表示式的匹配。
现在我们回过头来看,对于以下两种方式的使用都是可以的,效率上也没什么区别!

1. fun(Y) -> xx;   fun(X) -> yy;   fun(_) -> zz.  2. fun(X) ->     if X == 1 -> xx;        X == 2 -> yy;        true -> zz     end.    3. func(X) ->     if X == 1 -> xx;        X == 2 -> yy;        X != 1 , X != 2 -> zz     end.4. func(X) ->     case X of       X == 1 -> xx;       X == 2 -> yy;       _ -> zz     end.
?



对于以上四种方式改如何选择呢?
1.从执行效率上看,四种方式没什么大的区别
2.第一种方式最扩张性最好,可以对于多个传递的参数进行处理。比如 f(A,B,C) ,如果对于用 case的话,只能传递数组的方式了 f({A,B,C})
3.单纯的if,从理解上来说最容易!
4.具体方式的选用还是看个人喜欢,更容易接受哪种!无强制要求

总之遵循一个原则:
Clean code is when you look at a routine and it's pretty much what you expected

热点排行