一、switch
与C的switch语句不同,每次只有符合分支值的子句才被执行。所以不用像C的每个case之后加上break。格式与C也不太相同,没有关键词case。
switch 判断的变量不用括号。
switch $x {
a {set y aaa}
b {incr t1 }
c -
defalut {incr t2; puts $t2 }
}
二、while
如遍历一个数组
set arr(mon) monday
set arr(tus) 222
set arr(3) wednesday
set aid [array startsearch arr];
puts "the array is:"
while { [array anymore arr $aid]!=0 } {
#nextelement 输出的是下标值
set subscript [array nextelement arr $aid];
puts "arr($subscript) [set arr($subscript)]";
}
#这段输出的结果有个问题就是,输出顺序比定义顺序的落后一个元素。为222,wednesday,monday.