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在中运行)。
返回一个数组元素名字的列表。
tclsh>array names a
1 2 three
array size arrayName
|
返回数组的元素个数。
下面是用于遍历的命令
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
|
注意可以同时并发多个遍历。
跳出最近的循环。
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 命令
用于阻止由于错误而导致中断执行。执行command, 每次都返回TCL_OK, 无论是否有错误发生。如有错误发生返回1 ,反之返回0 。如果给了varName这被置为错误信息。注意varName是已经存在的变量。
转换当前工作目录。如dirName未给出则转入home目录。
关闭文件描述符。
将参数连接产生一个表。
concat a b {c d e} {f {g h}}
return `a b c d e f {g h}"
continue
|
结束该次循环并继续循环。
如fileId以结束 返回1,反之返回 0。
阅读(1090) | 评论(0) | 转发(0) |