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

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。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值