📜  Elm-决策

📅  最后修改于: 2020-11-04 08:57:39             🧑  作者: Mango


 

决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及确定条件为真的情况下要执行的一条或多条语句,以及选择确定条件时要执行的其他语句。条件确定为假。

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

做决定

决策构造在执行指令之前评估条件。榆树的决策构造分类如下-

Sr. No. Statement Description
1 if…then…else statement The if statement consists of a Boolean expression followed by then which is executed if the expression returns true and else which is executed if the expression returns false
2 nested if statement You can use one if…then…else inside another if.
3 case statement Tests the value of a variable against a list of values.

如果…然后…其他声明

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

与其他编程语言不同,在Elm中,我们必须提供else分支。否则,榆木将引发错误。

句法

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 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语句可用于简化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不为零”。