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 语句可以有一个可选的default 代码块,该代码块必须出现在 switch 的末尾。当没有一个 case 为真时,可以使用 default case 执行任务。

流程图

Switch Statement

示例:未加引号版本

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