总有别人不曾走过的路,总有别人不曾目睹的风景......

Tcl读书笔记(十)——流程控制

上一篇 / 下一篇  2012-07-26 11:46:14 / 个人分类:Tcl

1. if命令:
   if命令可以拥有多个elseif子命令,每个子句有相应的表达式和脚本,最后还可以拥有一个else子句。如果一条if命令没有else子句,而所有的检测都不能通过时,它就不会执行任何脚本,直接返回一个空字符串。
2. switch命令:
   第一种形式:第一个参数是要检测的值,第二个参数是包含一个或多个元素对的列表。每一对的第一个元素是要与检测值进行比较的模式,第二个元素是如果模式匹配后将执行的脚本。
   switch $x {
a {incr t1}
b {incr t2}
c {incr t3}
   }
   第二种形式,将模式和脚本作为独立的变量传入。
   switch $x a{incr t1} b{incr t2} c{incr t3}
   如果switch命令的最后一个模式是default,switch在其他的模式都无法匹配时就会执行default对应的脚本。
   如果switch命令的某个脚本是-,那么switch会使用下一个模式对应的脚本。
   在switch添加注释时,只能把注释加在脚本部分。
3. 循环命令:while、for和foreach
   while命令获取两上参数:一个表达式和一个Tcl脚本。它先处理表达式,如果结果为非零,就执行Tcl脚本。这个过程将不断重复直到表达为假,即结果为0。
   for命令的第一个参数是初始化脚本;第二个参数是决定终止循环的表达式;第三个参数是再初始化脚本,它在每次执行完一次循 环块之后,再次检测终止表达式之前执行;第四个参数是构成循环块的脚本。
   foreach命令遍历一个列表中的所有元素。第一个参数是变量名,第二个是列表,第三个构成循环体的Tcl脚本。foreach对列表中的每一个元素顺序执行脚本块。在每次执行脚本块前,foreach将变量设为列表的下一个元素。
   foreach命令还可以并行地处理多个列表,每个列表需要提供独立的变量集。
4. 循环控制:break和continue
   break命令立即终止循环。continue命令只终止当前循环。
5. eval命令:
   eval是用于创建和运行Tcl脚本的通用构造块。它接受任意多个参数,把它们用分隔符串接起来,然后把串接的结果作为一个Tcl脚本处理。
   eval的一个用途是生成命令,把它们存放在变量中,然后再把这个变量作为Tcl脚本运行。如:
   % set reset {
   %set a 0
   %set b 0
   %set c 0 
   % }
   % eval $reset 

TAG: TCL tcl Tcl

 

评分:0

我来说两句

phoenix_lo

phoenix_lo

用户虐我千百遍,我待用户如初恋。

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 43728
  • 日志数: 23
  • 建立时间: 2011-06-12
  • 更新时间: 2012-10-30

RSS订阅

Open Toolbar