Erlang if语句多个表达式

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

语法

  1. if
  2. condition1 ->
  3. statement#1;
  4. condition2 ->
  5. statement#2;
  6. conditionN ->
  7. statement#N;
  8. true ->
  9. defaultstatement
  10. end.

在 Erlang 中,条件是计算结果为真或假的表达式。如果条件为真,则 statement#1 会被执行。否则评估(计算)下一个条件表达式等等。如果没有一个表达式的计算结果为真,那么 defaultstatement 评估(计算)。

下图是上面给出的语句的一般流程示意图:

Erlang多表达式

下面的程序是在 Erlang 中一个简单的 if 表达式的例子:

示例

  1. -module(helloworld).
  2. -export([start/0]).
  3. start() ->
  4. A = 5,
  5. B = 6,
  6. if
  7. A == B ->
  8. io:fwrite("A is equal to B");
  9. A < B ->
  10. io:fwrite("A is less than B");
  11. true ->
  12. io:fwrite("False")
  13. end.

以下是上述程序需要说明的一些关键点

  • 这里所使用的表达式是变量A和B的比较

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

  • 符号 ";" 需要在 statement#1 语句之后

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

  • 语句 “end” 需要用来表示 if 块的结束

上面的代码的输出结果是:

  1. A is less than B