Tcl编程简介(三)之内置命令集

来源:互联网 发布:linux怎么查看版本 编辑:程序博客网 时间:2024/06/05 19:19

Tcl 内置命令

内置的命令

  Tcl提供了下面描述的内置函数。

  .其中: ... 表示参数不定具体有:

  append命令:

append varName value append varName value value value ... 

  将那一大堆value附加到varName后面。如果变量不存在,会新建一个。

  例子:

set i "aaa" append i "bbb" "ccc" //i = aaabbbccc 

  array命令:

array subcommand arrayName array subcommand arrayName arg ... 

  这是一组用于向量操作的命令。第二个参数是子命令名。

  假设:

set a(1) 1111 set a(2) 2222 set a(three) 3333 

  一下均以它为例子(tclsh在中运行)。

array names arrayName 

  返回一个数组元素名字的列表。

tclsh>array names a 1 2 three array size arrayName 

  返回数组的元素个数。

tclsh>array size a 3 

  下面是用于遍历的命令

arrry startsearch arrayName 

  初始化一次遍历,返回一个遍历标示(searchId)在下面的命令是中使用。

array nextelement arrayName searchId 

  返回下一个数组中的元素。如果没有返回一个空串。

array anymore arrayName searchId 

  返回 1 表示还有更多的元素。0 表示没有了。

array donesearch arrayName searchId 

  结束该次遍历。

array nextelement arrayName searchId 

  返回下一个元素。

tclsh>array startsearch a s-1-a tclsh>array nextelement a s-1-a 1111 tclsh>array nextelement a s-1-a 2222 tclsh>array anymore a s-1-a 1 tclsh?array nextelement a s-1-a 3333 tclsh>array donesearch a s-1-a 

  注意可以同时并发多个遍历。

break命令break 

  跳出最近的循环。

case string in patList body ... case string patList body ... case string in {patList body ...} case string {patList body ...} 

  分支跳转。

  例如:

case abc in {a b} {puts 1} default {puts 2} a* {puts 3} return 3. case a in { {a b} {format 1} default {format 2} a* {format 3} } returns 1. case xyz { {a b} {format 1} default {format 2} a* {format 3} } returns 2. 

  注意default不可以放在第一位。支持shell文件名风格的匹配符。

catch 命令

catch command varName 

  用于阻止由于错误而导致中断执行。执行command, 每次都返回TCL_OK, 无论是否有错误发生。如有错误发生返回1 ,反之返回0 。如果给了varName这被置为错误信息。注意varName是已经存在的变量。

cd 命令(如shell)cd dirName 

  转换当前工作目录。如dirName未给出则转入home目录。

close fileId 

  关闭文件描述符。

concat arg ... 

  将参数连接产生一个表。

concat a b {c d e} {f {g h}} return `a b c d e f {g h}" continue 

  结束该次循环并继续循环。

eof fileId 

  如fileId以结束 返回1,反之返回 0。


原创粉丝点击