Tcl-決定

意思決定構造では、プログラマーは、プログラムによって評価またはテストされる1つ以上の条件と、条件が真であると判断された場合に実行される1つまたは複数のステートメント、およびオプションで、条件が真である場合に実行される他のステートメントを指定する必要があります。 falseと判断されます。

以下は、ほとんどのプログラミング言語に見られる典型的な意思決定構造の一般的な形式です。

Tcl言語は内部でexprコマンドを使用するため、exprステートメントを明示的に使用する必要はありません。

Tcl言語は、次のタイプの意思決定ステートメントを提供します-

シニア番号 ステートメントと説明
1 ifステートメント

'if'ステートメントは、ブール式とそれに続く1つ以上のステートメントで構成されます。

2 if ... elseステートメント

'if'ステートメントの後にオプションの 'else'ステートメントを続けることができます。これは、ブール式がfalseの場合に実行されます。

3 ネストされたifステートメント

1つの 'if'または 'elseif'ステートメントを別の 'if'または 'elseif'ステートメント内で使用できます。

4 switchステートメント

A switch ステートメントを使用すると、値のリストに対して変数が等しいかどうかをテストできます。

5 ネストされたswitchステートメント

あなたは1つを使用することができます switch 別の内部のステートメント switch ステートメント。

?:オペレーター

カバーしました conditional operator ? : 前の章で、これを使用して置き換えることができます if...elseステートメント。それは次の一般的な形式を持っています-

Exp1 ? Exp2 : Exp3;

ここで、Exp1、Exp2、およびExp3は式です。コロンの使用と配置に注意してください。

'の値?式 'は次のように決定されます。Exp1が評価されます。trueの場合、Exp2が評価され、 '?全体の値になります。表現。」Exp1がfalseの場合、Exp3が評価され、その値が式の値になります。以下に例を示します。

#!/usr/bin/tclsh

set a 10;
set b [expr $a == 1 ? 20: 30]
puts "Value of b is $b\n"
set b [expr $a == 10 ? 20: 30]
puts "Value of b is $b\n"

上記のプログラムをコンパイルして実行すると、次の結果が得られます-

Value of b is 30
Value of b is 20