if表達(dá)式也允許進(jìn)行一次評(píng)估(計(jì)算)多個(gè)表達(dá)式。在 Erlang 這個(gè)語句的一般形式顯示在下面的程序 -
語法
if
condition1 ->
statement#1;
condition2 ->
statement#2;
conditionN ->
statement#N;
true ->
defaultstatement
end.
在 Erlang 中,條件是計(jì)算結(jié)果為真或假的表達(dá)式。如果條件為真,則 statement#1 會(huì)被執(zhí)行。否則評(píng)估(計(jì)算)下一個(gè)條件表達(dá)式等等。如果沒有一個(gè)表達(dá)式的計(jì)算結(jié)果為真,那么 defaultstatement 評(píng)估(計(jì)算)。
下圖是上面給出的語句的一般流程示意圖:
下面的程序是在 Erlang 中一個(gè)簡(jiǎn)單的 if 表達(dá)式的例子 -
示例
-module(helloworld).
-export([start/0]).
start() ->
A = 5,
B = 6,
if
A == B ->
io:fwrite("A is equal to B");
A < B ->
io:fwrite("A is less than B");
true ->
io:fwrite("False")
end.
以下是上述程序需要說明的一些關(guān)鍵點(diǎn) -
-
這里所使用的表達(dá)式是變量A和B的比較
-
-> 運(yùn)算符需要在表達(dá)式之后
-
符號(hào) ";" 需要在 statement#1 語句之后
-
-> 運(yùn)算符需要在 true 表達(dá)式之后
-
語句 “end” 需要用來表示 if 塊的結(jié)束
上面的代碼的輸出結(jié)果是 -
A is less than B