Tcl - If else 语句


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

句法

Tcl 语言中“ if...else ”语句的语法为 -

if {boolean_expression} {
   # statement(s) will execute if the boolean expression is true 
} else {
   # statement(s) will execute if the boolean expression is false
}

如果布尔表达式的计算结果为true,则将执行if 代码块,否则将执行else 代码块。

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

流程图

如果否则语句

例子

#!/usr/bin/tclsh

set a 100

#check the boolean condition 
if {$a < 20 } {
   #if condition is true then print the following 
   puts "a is less than 20"
} else {
   #if condition is false then print the following 
   puts "a is not less than 20"
}
puts "value of a is : $a"

当上面的代码被编译并执行时,它会产生以下结果 -

a is not less than 20;
value of a is : 100

if...else if...else 语句

if ”语句后面可以跟一个可选的else if...else语句,这对于使用单个 if...else if 语句测试各种条件非常有用。

当使用 if 、 else if 、 else 语句时,有几点需要记住 -

  • ' if ' 可以有零个或一个else,并且它必须位于任何else if 之后。

  • 一个“ if ”可以有零到多个else if,并且它们必须位于else 之前。

  • 一旦“ else if ”成功,则不会测试其余的else ifelse 。

句法

Tcl 语言中“ if...else if...else ”语句的语法为 -

if {boolean_expression 1} {
   # Executes when the boolean expression 1 is true
} elseif {boolean_expression 2} {
   # Executes when the boolean expression 2 is true 
} elseif {boolean_expression 3} {
   # Executes when the boolean expression 3 is true 
} else {
   # executes when the none of the above condition is true 
}

例子

#!/usr/bin/tclsh

set a 100

#check the boolean condition
if { $a == 10 } {
   # if condition is true then print the following 
   puts "Value of a is 10"
} elseif { $a == 20 } {
   # if else if condition is true 
   puts "Value of a is 20"
} elseif { $a == 30 } {
   # if else if condition is true 
   puts "Value of a is 30"
} else {
   # if none of the conditions is true 
   puts "None of the values is matching"
}

puts "Exact value of a is: $a"

当上面的代码被编译并执行时,它会产生以下结果 -

None of the values is matching
Exact value of a is: 100
tcl_decisions.htm