switch語(yǔ)句可以讓一個(gè)變量值的列表進(jìn)行相等測(cè)試。每個(gè)值被稱為一個(gè)的情況(case),該變量被接通檢查每個(gè)switch case。
Tcl語(yǔ)言未加引號(hào)的switch語(yǔ)句的語(yǔ)法如下:
switch switchingString matchString1 {body1} matchString2 {body2} ... matchStringn {bodyn}
Tcl語(yǔ)言未加引號(hào)的switch語(yǔ)句的語(yǔ)法如下:
switch switchingString { matchString1 { body1 } matchString2 { body2 } ... matchStringn { bodyn } }
以下規(guī)則適用于switch語(yǔ)句:
在switch語(yǔ)句中使用的switchingString通過(guò)比較matchString使用在不同塊之間。
在一個(gè)switch內(nèi)可以任何數(shù)量matchString塊。
switch語(yǔ)句可以具有可選默認(rèn)塊,其中必須出現(xiàn)在開(kāi)關(guān)的末尾。缺省情況下,可用于執(zhí)行任務(wù)時(shí)沒(méi)有一個(gè)case是真實(shí)的。
#!/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"
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
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"
當(dāng)上述代碼被編譯和執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
Well done Your grade is B