Tcl - 决策


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

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

决策

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

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

先生。 声明及说明
1 if 语句

“if”语句由一个布尔表达式后跟一个或多个语句组成。

2 if...else 语句

“if”语句后面可以跟一个可选的“else”语句,该语句在布尔表达式为 false 时执行。

3 嵌套 if 语句

您可以在另一个“if”或“else if”语句内使用一个“if”或“else if”语句。

4 switch语句

switch语句允许测试变量是否与值列表相等

5 嵌套 switch 语句

您可以在另一个switch语句中使用一个switch语句。

这 ?: 操作员

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

Exp1 ? Exp2 : Exp3;

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

'? 的值 expression' 的确定如下: Exp1 被计算。如果为真,则计算 Exp2 并成为整个 '? 的值。表达。' 如果 Exp1 为 false,则计算 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