Tcl-tk-tcl-switch-statement

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

Tcl-Switchステートメント

*switch* ステートメントを使用すると、変数を値のリストと等しいかどうかをテストできます。 各値はケースと呼ばれ、オンになっている変数は、 *switch case* ごとにチェックされます。

構文

Tcl言語で引用されていない switch ステートメントの構文は次のとおりです-

switch switchingString matchString1 {body1} matchString2 {body2} ... matchStringn {bodyn}

Tcl言語で引用されていない switch ステートメントの構文は次のとおりです-

switch switchingString {
   matchString1 {
      body1
   }
   matchString2 {
      body2
   }
...
   matchStringn {
      bodyn
   }
}

次のルールは、*スイッチ*ステートメントに適用されます-

  • switchingStringswitch ステートメントで使用されます。 matchStringと比較して、異なるブロック間で使用されます。
  • スイッチ内には任意の数のmatchStringブロックを含めることができます。
  • switch ステートメントには、オプションの default ブロックを含めることができます。これは、スイッチの最後に表示する必要があります。 デフォルトのケースは、どのケースにも当てはまらない場合にタスクを実行するために使用できます。

流れ図

スイッチステートメント

例:引用されていないバージョン

#!/usr/bin/tclsh

set grade C;

switch $grade  A { puts "Well done!" }  B { puts "Excellent!" }  C { puts "You passed!"  } F { puts "Better try again"   }   default {     puts "Invalid grade"   }
puts "Your grade is  $grade"

上記のコードをコンパイルして実行すると、次の結果が生成されます-

You passed!
Your grade is  C

例:引用バージョン

#!/usr/bin/tclsh

set grade B;

switch $grade {
   A {
      puts "Well done!"
   }
   B {
      puts "Excellent!"
   }

   C {
      puts "You passed!"
   }
   F {
      puts "Better try again"
   }
   default {
      puts "Invalid grade"
   }
}
puts "Your grade is  $grade"

上記のコードをコンパイルして実行すると、次の結果が生成されます-

Excellent!
Your grade is  B