Tcl - Switch 语句

switch 语句允许测试变量是否与值列表相等。 每个值称为一个 case,并且针对每个 switch case 检查正在打开的变量。

语法

Tcl 语言中不带引号的switch语句的语法如下 −

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

Tcl 语言中不带引号的switch语句的语法如下 −

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

以下规则适用于 switch 语句 −

  • switchingString 用于 switch 语句中; 通过与 matchString 进行比较来在不同块之间使用。

  • 开关中可以有任意数量的 matchString 块。

  • switch 语句可以有一个可选的 default 块,该块必须出现在 switch 的末尾。 当所有情况都不成立时,可以使用默认情况来执行任务。

流程图

Switch 语句

示例:不带引号的版本

#!/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

tcl_decisions.html