if表達(dá)式還允許同時(shí)計(jì)算多個(gè)表達(dá)式。Erlang中這一語句的一般形式見下面的程序?
if condition1 -> statement#1; condition2 -> statement#2; conditionN -> statement#N; true -> defaultstatement end.
在Erlang中,條件是一個(gè)計(jì)算結(jié)果為true或false的表達(dá)式。如果條件為真,則執(zhí)行statement #1。否則將計(jì)算下一個(gè)條件,依此類推。如果沒有計(jì)算結(jié)果為true,則將計(jì)算defaultstatement。
下圖是上述給定語句的一般示意圖。
以下程序是Erlang中一個(gè)簡單 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)于上述程序,需要注意以下關(guān)鍵事項(xiàng)-
此處使用的表達(dá)式是變量A和B之間的比較。
->運(yùn)算符需要跟隨表達(dá)式。
將;需要跟隨語句#1。
->運(yùn)算符需要跟隨 true 的表達(dá)式
語句“ end”需要在此處表示if塊的結(jié)尾。
上面程序的輸出將是-
輸出結(jié)果
A is less than B