Erlang多表达式

Erlang多表达式

if表达式也允许进行一次评估(计算)多个表达式。在 Erlang 这个语句的一般形式显示在下面的程序 -

语法

if
condition1 ->
   statement#1;
condition2 ->
   statement#2;
conditionN ->
   statement#N;
true ->
   defaultstatement
end.
在 Erlang 中,条件是计算结果为真或假的表达式。如果条件为真,则 statement#1 会被执行。否则评估(计算)下一个条件表达式等等。如果没有一个表达式的计算结果为真,那么 defaultstatement 评估(计算)。
下图是上面给出的语句的一般流程示意图:
Erlang多表达式
下面的程序是在 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的比较
  • -> 运算符需要在表达式之后
  • 符号 ";" 需要在 statement#1 语句之后

  • -> 运算符需要在 true 表达式之后

  • 语句 “end” 需要用来表示 if 块的结束
上面的代码的输出结果是 -
A is less than B