if表达式还允许同时计算多个表达式。Erlang中这一语句的一般形式见下面的程序−
if condition1 -> statement#1; condition2 -> statement#2; conditionN -> statement#N; true -> defaultstatement end.
在Erlang中,条件是一个计算结果为true或false的表达式。如果条件为真,则执行statement #1。否则将计算下一个条件,依此类推。如果没有计算结果为true,则将计算defaultstatement。
下图是上述给定语句的一般示意图。
以下程序是Erlang中一个简单 if 表达式的示例-
-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.
关于上述程序,需要注意以下关键事项-
此处使用的表达式是变量A和B之间的比较。
->运算符需要跟随表达式。
将;需要跟随语句#1。
->运算符需要跟随 true 的表达式
语句“ end”需要在此处表示if块的结尾。
上面程序的输出将是-
输出结果
A is less than B