Tcl - 决策语句
决策结构要求程序员指定一个或多个由程序评估或测试的条件,以及如果确定条件为 true 则要执行的一个或多个语句,以及可选的如果确定条件为 false 则要执行的其他语句。
以下是大多数编程语言中典型决策结构的一般形式 −

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 是表达式。 注意冒号的使用和位置。
Exp1 被评估,如果为 true,则对 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