位置:首页 > > TCL决策

TCL决策

决策结构需要程序员指定的一个或多个条件进行评估,或由程序进行测试,如果条件被确定为真以及一条或多条语句,任选的其它语句,如果条件被确定为假则被执行。

以下是在大多数编程语言中找到的典型决策结构的一般形式:

Decision Making

TCL语言使用expr内部命令,因此它为我们声明使用expr的声明不是必需的。

TCL语言提供了以下几种类型的决策语句。

语名 描述
if语句 if语句包含一个布尔表达式后跟一个或多个语句。
if...else语句 if语句可以跟着一个可选的else语句,当else执行时,布尔表达式是假。
内嵌if语句 可以使用一个if 或else if 里面再声明 if 或 else if 语句(S)。
switch语句 switch语句可以让一个变量对值列表相等进行测试。
内嵌switch语句 可以使用一个switch语句在另一个switch语句中。

 ? : 操作符

我们已经覆盖条件操作符 ? :在前面的章节中可以用它来代替 if ... else语句。以下是它的一般形式:

Exp1 ? Exp2 : Exp3;

计算Exp1,Exp2和Exp3表达式。注意使用和放置。

a的值?表达是确定这样:Exp1计算评估。如果是真的,那么Exp2后进行评估计算,并成为整个的值?表达式。如果计算Exp1是假的,那么Exp3计算它的值变为表达式的值。一个例子如下所示。

#!/usr/bin/tclsh

set a 10;
set b [expr $a == 1 ? 20: 30]
puts "Value of b is $b\n"
set b [expr $a == 10 ? 20: 30]
puts "Value of b is $b\n" 

当编译和执行上面的程序,将会产生以下结果:

Value of b is 30
Value of b is 20