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 进行比较来在不同块之间使用。

  • 一个 switch 中可以有任意数量的 matchString 块。

  • switch语句可以有一个可选的默认块,该必须出现在 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.htm