If 的使用
1.If 的语法结构
if
Condition 1 ->
Action 1;
Condition 2 ->
Action 2;
Condition 3 ->
Action 3;
true ->
Action 4
end.
在Erlang中If的使用如下:先对Condition 1求值,如值为true,那么将执行Action 1,并跳出该结构。若Condition 1不成功,那么就继续对Condition 2求职,以此类推,直到有条件成功。
如果之前的情况都不满足的话,则到达最后的true这个选项,类似于其他语言中的else, 如果这里不写的话会抛出一个异常,还有就是这里的if语句的最后一个条件是原子true。
注意:这里Action 4是没有 ; 的,end后面的 . 不要忘记写了。
2.代码样例:
-module(judge_test).
-export([judge/1]).
judge(X)->
if
X == 0 ->
io:format("Hello~n");
X == 10 ->
io:format("10 is ~p. ~n",[X]);
true ->
io:format("Yes~n")
end.
3.运行结果展示:
Case的使用
- Case的语法结构
case Condition of
Result 1 ->
Action 1;
Result 2 ->
Action 2;
Result 3 ->
Action 3;
Other ->
Action 4;
end
在Erlang中Case的使用如下:对Condition进行求值,然后将结果依次对Result 1、Result 2等进行匹配,直到找到可以匹配的分支。如果所有的都没有匹配的话就进入Other分支执行。如果这里不写的话也会抛出一个异常。
2.代码样例
-module(judge_test).
-export([judge/1]).
judge(X)->
case X of
0 ->
io:format("Hello~n");
10 ->
io:format("10 is ~p. ~n",[X]);
Other ->
io:format("error~n")
end.
3.运行结果展示:
小结
在Erlang语言中If与Case的逻辑与其他语言都是一样的只不过是实现的方式不同。在这里记录一下,主要是学习一下基本的语法,希望早日可以熟悉。