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