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是表达式。注意冒号的使用和位置。
‘?表达式
‘的值的确定方式如下:首先评估Exp1。如果为真,则评估Exp2,并成为整个’?表达式’的值。如果Exp1为假,则评估Exp3,并将其值作为表达式的值。下面是一个示例。
#!/usr/bin/tclsh
set a 10;
set b [expr a == 1 ? 20: 30]
puts "Value of b isb\n"
set b [expr a == 10 ? 20: 30]
puts "Value of b isb\n"
当您编译和执行上述程序时,它将产生以下结果 –
Value of b is 30
Value of b is 20