blue1025的个人空间 https://blog.eetop.cn/mj8051 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

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

热度 1已有 1168 次阅读| 2008-8-26 11:03 |个人分类:linux

http://blog.csdn.net/kangzuo/archive/2006/04/28/695366.aspx

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。


1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 13

    粉丝
  • 16

    好友
  • 15

    获赞
  • 23

    评论
  • 2824

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 11:07 , Processed in 0.036159 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部