Tcl-tk-tcl-decisions

提供:Dev Guides
移動先:案内検索

Tcl-決定

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

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

意思決定

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

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

Sr.No. Statement & Description
1

if statement

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

2

if…​else statement

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

3

nested if statements

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

4

switch statement

  • switch* ステートメントを使用すると、変数を値のリストと等しいかどうかをテストできます。
5

nested switch statements

1つの switch ステートメントを別の switch ステートメント内で使用できます。

は? :オペレーター

条件演算子? :*前の章で、 *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