Elm - 决策
决策结构要求程序员指定一个或多个条件,由程序进行评估或测试,以及如果条件被确定为真则执行的语句,以及可选地,如果条件被确定为假则执行的其他语句。
下面显示的是大多数编程语言中常见的典型决策结构的通用形式。
决策结构在执行指令之前会评估条件。Elm 中的决策结构分类如下:
| 序号 | 语句 | 描述 |
|---|---|---|
| 1 | if...then...else 语句 | if 语句由一个布尔表达式后跟 then 组成,如果表达式返回 true,则执行 then 部分;如果表达式返回 false,则执行 else 部分。 |
| 2 | 嵌套 if 语句 | 你可以在另一个 if 内部使用一个 if...then...else。 |
| 3 | case 语句 | 测试变量的值是否与一系列值匹配。 |
if...then...else 语句
if…then 结构在执行代码块之前会评估条件。如果布尔表达式计算结果为真,则将执行 then 语句内的代码块。如果布尔表达式计算结果为假,则将执行 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 语句检查变量的值是否与预定义的一组常量匹配,并返回相应的值。请注意,每个 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 的值是否为零。控制权传递给 default,它返回字符串“n is not Zero”。
广告