TCL中的控制结构是通过使用命令来实现的,命令中有循环命令:while,foreach和for。还有条件命令:if和switch。错误处理命令:catch。还有一些控制微调结构的命令,如:break,continue,return和error。
一.if then else
这个命令的语法为
if espression then body1 else body2
看这个程序:
[ppcorn@localhost ppcorn]$ cat iftest1.tcl
#!/usr/bin/tclsh
#####################################################
# This program used to test if then eles
# The number input by keyboard will be divide by 10
####################################################
puts -nonewline "Please input a number: "
flush stdout;
set x [gets stdin]
if {$x==0} then {
puts stderr "Divide by zero"
} else {
set slope [expr 10/$x]
puts $slope
}
[ppcorn@localhost ppcorn]$ ./iftest1.tcl
Please input a number: 0
Divide by zero
[ppcorn@localhost ppcorn]$ ./iftest1.tcl
Please input a number: 2
5
这个程序中,请大家注意一下读入键盘输入的方法,先执行flush stdout,然后使用get stdin来读键盘输入。
还有一个需要注意的是在程序的第一个字符为#的话,表示这行被注释。
同时,在这个结构中,then是可以省略的,也就是程序也可以是这个样子
[ppcorn@localhost ppcorn]$ cat iftest2.tcl
#!/usr/bin/tclsh
#####################################################
# This program used to test if eles
# The number input by keyboard will be divide by 10
####################################################
puts -nonewline "Please input a number: "
flush stdout;
set x [gets stdin]
if {$x==0} {
puts stderr "Divide by zero"
} else {