Elm - 决策语句

决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及在确定条件为真时要执行的一条或多条语句,以及可选的其他要执行的语句。 如果确定条件为 false,则执行。

下面显示的是大多数编程语言中典型决策结构的一般形式

决策

决策结构在执行指令之前评估条件。 Elm 中的决策结构分类如下 −

Sr. No. 语句 描述
1 if...then...else 语句 if 语句由一个布尔表达式组成,后跟 then,如果表达式返回 true 则执行 then,如果表达式返回 false 则执行 else
2 嵌套的 if 语句 您可以在另一个 if 中使用一个 if...then...else。
3 case 语句 根据值列表测试变量的值。

if...then...else 语句

if…then 结构在执行代码块之前评估条件。 如果布尔表达式的计算结果为 true,则将执行 then 语句内的代码块。 如果布尔表达式的计算结果为 false,则将执行 else 语句内的代码块。

与其他编程语言不同,在 Elm 中我们必须提供 else 分支。 否则,Elm 会抛出错误。

语法

if boolean_expression then statement1_ifTrue else statement2_ifFalse

示例

在 REPL 终端中尝试以下示例。

> if 10>5 then "10 is bigger" else "10 is small"
"10 is bigger" : String

嵌套 If

嵌套的 if 语句对于测试多个条件很有用。 嵌套 if 语句的语法如下 −

if boolean_expression1 then statement1_ifTrue else if boolean_expression2 then statement2_ifTrue else statement3_ifFalse

示例

在 Elm REPL 中尝试以下示例 −

> score=80
80 : number
> if score>=80 then "Outstanding" else if score > = 70 then "good" else "average"
"Outstanding" : String

Case 语句

case 语句可用于简化 if then else 语句。 case 语句的语法如下所示 −

case variable_name of
   constant1 -> Return_some_value
   constant2 -> Return_some_value
   _ -> Return_some_value if none of the above values match

case 语句检查变量的值是否与预定义的常量集匹配并返回相应的值。 请注意,每种情况返回的值必须具有相同的类型。 如果变量值与任何给定常量都不匹配,则控制权将传递给 *default *(用 //_ 表示)并返回相应的值。

示例

在 Elm REPL 中尝试以下示例 −

> n = 10
10 : number
> case n of \
| 0 -> "n is Zero" \
| _ -> "n is not Zero"
"n is not Zero" : String

上面的代码片段检查 n 的值是否为零。 控制权被传递给默认值,它返回字符串"n is not Zero"。