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 的末尾。 当所有情况都不成立时,可以使用默认情况来执行任务。
流程图
示例:不带引号的版本
#!/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