Elm-decision-making
提供:Dev Guides
ニレ-意思決定
意思決定構造では、プログラマーが、プログラムによって評価またはテストされる1つ以上の条件、および条件が真であると判断された場合に実行されるステートメント、およびオプションで、条件は偽と判断されます。
以下に、ほとんどのプログラミング言語で見られる典型的な意思決定構造の一般的な形式を示します
意思決定構造は、命令が実行される前に条件を評価します。 エルムの意思決定構造は次のように分類されます-
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 … 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 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 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」という文字列が返されます。