如果是的话

如果 expr1 ?那么? body1 elseif expr2 ?然后呢? body2 ……?别的??bodyN?

exprN 是一个计算结果为布尔值的表达式。 bodyN 是一个命令列表。

set i 5
if {$i < 10} {
  puts {hello world}
} elseif {$i < 70} {
  puts {enjoy world}
} else {
  puts {goodbye world}
}

对于开始测试下身子

startnextbody 是命令列表。 test 是一个计算结果为布尔值的表达式。

休息的命令将跳出循环。将继续命令将跳到循环的下一次迭代。

常见用法是:

for {set i 0} {$i < 5} {incr i} {
  puts "$i: hello world"
}

由于 startnext 是命令列表,因此可以存在任何命令。

for {set i 0; set j 5} {$i < 5} {incr i; incr j -1} {
  puts "i:$i j:$j"
}

测试身体

试验是用于评估为布尔值的表达式。虽然测试是真实的,身体被执行。

set x 0
while {$x < 5} {
  puts "hello world"
  incr x
}

休息的命令将跳出循环。将继续命令将跳到循环的下一次迭代。

set lineCount 0
while {[gets stdin line] >= 0} {
  puts "[incr lineCount]: $line"
  if { $line eq "exit" } {
    break
  }  
}