Erlang学习笔记(二)Erlang基础语法之If、Case的使用

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.运行结果展示:
Erlang学习笔记(二)Erlang基础语法之If、Case的使用_第1张图片

Case的使用

  1. 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学习笔记(二)Erlang基础语法之If、Case的使用_第2张图片

小结

在Erlang语言中If与Case的逻辑与其他语言都是一样的只不过是实现的方式不同。在这里记录一下,主要是学习一下基本的语法,希望早日可以熟悉。

你可能感兴趣的:(Erlang,学习笔记)