Tcl - 决策



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

以下是大多数编程语言中常见决策结构的一般形式:

Decision Making

Tcl 语言内部使用 expr 命令,因此我们不需要显式使用 expr 语句。

Tcl 语言提供以下类型的决策语句:

序号 语句和描述
1 if 语句

'if' 语句由一个布尔表达式和一个或多个语句组成。

2 if...else 语句

'if' 语句后面可以跟一个可选的 'else' 语句,当布尔表达式为假时执行。

3 嵌套 if 语句

你可以在另一个 'if' 或 'else if' 语句内使用一个 'if' 或 'else if' 语句。

4 switch 语句

switch 语句允许测试变量与值列表的相等性。

5 嵌套 switch 语句

你可以在另一个 switch 语句内使用一个 switch 语句。

?: 运算符

我们在上一章中介绍了条件运算符 ?:,它可以用来代替if...else语句。它具有以下一般形式:

Exp1 ? Exp2 : Exp3;

其中 Exp1、Exp2 和 Exp3 是表达式。注意冒号的使用和位置。

“?表达式”的值如下确定:评估 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
广告