通信人家园

标题: TCL语言培训教程(华为)  [查看完整版帖子] [打印本页]

时间:  2008-9-3 08:46
作者: ccdata     标题: TCL语言培训教程(华为)

tcl语言培训教程,希望能够对大家有所帮助

TCL(Tool Command Language)是一种解释执行的脚本语言(Scripting Language)。 它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。

由于TCL的解释器是用一个C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作一个C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,可以很容易就在C\C++应用程序中嵌入TCL,而且每个应用程序都可以根据自己的需要对TCL语言进行扩展。我们可以针对某一特定应用领域对TCL语言的核心命令集进行扩展,加入适合于自己的应用领域的扩展命令,如果需要,甚至可以加入新的控制结构,TCL解释器将把扩展命令和扩展控制结构与固有命令和固有控制结构同等看待。扩展后的TCL语言将可以继承TCL 核心部分的所有功能,包括核心命令、控制结构、数据类型、对过程的支持等。根据需要,我们甚至可以屏蔽掉TCL的某些固有命令和固有控制结构。通过对TCL的扩展、继承或屏蔽,用户用不着象平时定义一种计算机语言那样对词法、语法、语义、语用等各方面加以定义,就可以方便的为自己的应用领域提供一种功能完备的脚本语言。

TCL良好的可扩展性使得它能很好地适应产品测试的需要,测试任务常常会由于设计和需求的改变而迅速改变,往往让测试人员疲于应付。利用TCL的可扩展性,测试人员就可以迅速继承多种新技术,并针对产品新特点迅速推出扩展TCL命令集,以用于产品的测试中,可以较容易跟上设计需求的变化。

另外,因为TCL是一种比C\C++ 语言有着更高抽象层次的语言,使用TCL可以在一种更高的层次上编写程序,它屏蔽掉了编写C\C++程序时必须涉及到的一些较为烦琐的细节,可以大大地提高开发测试例的速度。而且, 使用TCL语言写的测试例脚本,即使作了修改,也用不着重新编译就可以调用TCL解释器直接执行。可以省却不少时间。

TCL 目前已成为自动测试中事实上的标准。

目  录
1引言        6
2语法        7
2.1脚本、命令和单词符号        7
2.2置换(substitution)        7
2.2.1变量置换(variable subtitution)        8
2.2.2命令置换(command substitution)        8
2.2.3反斜杠置换(backslash substitution)        8
2.2.4双引号和花括号          9
2.3注释        9
3变量        10
3.1简单变量        10
3.2数组        11
3.3相关命令        11
3.3.1set        11
3.3.2unset        11
3.3.3append和incr        12
4表达式        12
4.1操作数        12
4.2运算符和优先级         12
4.3数学函数        13
5List        14
5.1list命令        14
5.2concat命令:        14
5.3lindex命令        15
5.4llength命令        15
5.5linsert命令        15
5.6lreplace命令:        15
5.7lrange 命令:        15
5.8lappend命令:        15
5.9lsearch 命令:        16
5.10lsort命令:        16
5.11split命令:        16
5.12join命令        17
6控制流        17
6.1if命令        17
6.2循环命令:while 、for、 foreach        17
6.2.1while命令        17
6.2.2for命令        18
6.2.3foreach命令        18
6.2.4break和continue命令        19
6.2.5switch 命令        19
6.1eval命令        19
6.2source命令        19
7过程(procedure)        20
7.1过程定义和返回值        20
7.2局部变量和全局变量        20
7.3缺省参数和可变个数参数        21
7.4引用:upvar        21
8字符串操作        22
8.1format命令        22
8.2scan命令        23
8.3regexp命令        23
8.4regsub命令        25
8.5string命令        25
8.5.1string compare ?-nocase?  ?-length int? string1 string2        25
8.5.2string  equal ?-nocase?  ?-length   int? string1 string2        25
8.5.3string  first string1 string2 ?startindex?        26
8.5.4string   index string charIndex        26
8.5.5string    last   string1 string2   ?startindex?        26
8.5.6string    length    string        26
8.5.7string match ?-nocase? pattern string        26
8.5.8string   range    string first   last        27
8.5.9string   repeat   string   count        27
8.5.10string    replace     string   first    last ?newstring?        27
8.5.11string   tolower   string  ?first?   ?last?        27
8.5.12string   toupper  string   ?first?    ?last?        27
8.5.13 string   trim    string   ?chars?        27
8.5.14string  trimleft  string ?chars?        27
8.5.15string   trimright    string   ?chars?        27
9文件访问        28
9.1文件名        28
9.2基本文件输入输出命令        28
9.3随机文件访问        29
9.4 当前工作目录        30
9.5文件操作和获取文件信息        30
10错误和异常        33
10.1错误        33
10.2从TCL脚本中产生错误        34
10.3使用catch捕获错误        35
10.4其他异常        35
11深入TCL        37
11.1查询数组中的元素        37
11.2 info命令        38
11.2.1变量信息        38
11.2.2过程信息        39
11.2.3命令信息        40
11.2.4  TCL的版本和库        41
11.2.5  命令的执行时间        41
11.2.6  跟踪变量        41
11.2.7 命令的重命名和删除        43
11.2.8 unknown命令        44
11.2.9自动加载        44
12历史记录        45
13TCL和C\C++        47
13.1生成自己的TCLSH        48
13.2扩展自己的命令:方法(一)        48
13.2.1编写扩展命令对应的C/C++过程        48
13.2.2注册命令        49
13.2.3命令返回值和命令对应的过程的返回值        50
13.3扩展自己的命令:方法(二)        52
13.3.1Tcl_Obj结构        52
13.3.2编写扩展命令对应的C/C++过程        54
13.3.3注册命令        54
13.4利用clientData参数和deleteProc参数        55
13.5在C/C++应用程序中嵌入TCL        58
14总结        59

[ 本帖最后由 tomtuo 于 2008-9-3 09:13 编辑 ]
时间:  2008-9-3 09:55
作者: GregoryL

谢谢分享。
时间:  2009-2-25 20:41
作者: moming08

谢谢分享。
时间:  2009-2-25 22:49
作者: hxmluck

谢啦
时间:  2009-4-2 16:33
作者: fowler4810     标题: 华为还真做了不少贡献哦

:)
时间:  2009-5-5 22:05
作者: xiaozhao2009

谢谢楼主,真有用的!
时间:  2009-5-6 14:35
作者: pp3512318

谢谢分享
时间:  2009-5-19 12:59
作者: danny_li_99

真不错,谢谢啊.
时间:  2009-6-13 23:22
作者: slayer114

太好了。星期天好好研究研究!谢谢!
时间:  2009-6-13 23:26
作者: slayer114

华为的内部资料实际上有很多,只是安全工作挺到位,基本上公网上很少见到!
时间:  2009-6-20 10:22
作者: feigederen

谢谢哈
时间:  2009-6-26 10:01
作者: kbskip

谢谢分享。
时间:  2009-8-5 17:03
作者: zbzhangliang

谢谢啦
时间:  2009-8-13 14:54
作者: lypsh

  谢谢。。。。。。
时间:  2009-8-31 11:17
作者: fly.f

十分感谢
时间:  2009-9-4 00:07
作者: tonytwain

很经典的TCL教程,非常好!
时间:  2009-9-10 10:36
作者: xpxu     标题: 谢谢楼主

谢谢分享
时间:  2009-10-21 09:56
作者: telnetpig

thanks
时间:  2009-10-23 21:24
作者: 潘晓晨

好好看看什么东西
时间:  2009-10-25 16:40
作者: bajiebeishang

挺不错的资料,谢谢楼主了,好好学习了回去
时间:  2009-10-26 15:11
作者: monlone

感谢之中。找了好久。
时间:  2009-10-26 17:22
作者: 无声

网上找不到好的编译器,华为好像自己开发了一个,用着不错,谁能提供下?
时间:  2009-11-2 20:29
作者: szcydj

支持支持~~
时间:  2009-11-22 08:18
作者: yangyang009     标题: 好久不用TCL,最近正好用到,熟悉的HW培训资料啊,谢谢楼主分享

好久不用TCL,最近正好用到,熟悉的HW培训资料啊,谢谢楼主分享
时间:  2009-11-24 21:30
作者: tony_200x

和我们用的差不多
时间:  2009-12-1 22:37
作者: gzbj

宝贝,下载了,空时好好研究一下,最后还得感谢楼主!慷慨!
时间:  2009-12-2 17:55
作者: javenceyds     标题: 回复 1# 的帖子

Thank you very much!
时间:  2009-12-26 17:03
作者: look_tfq

下过了,很有用的资料,谢谢了
时间:  2009-12-26 23:20
作者: yangfan197987

谢谢分享。
时间:  2009-12-28 11:40
作者: 51lovebuy

谢谢了,非常需要!

http://www.51lvoebuy.com
时间:  2009-12-29 11:51
作者: 21moons

楼主辛苦了!
时间:  2009-12-29 16:01
作者: tjdlbj

好东西,多谢楼主!
时间:  2009-12-29 22:18
作者: qyhj09

tcl难不难哟?
时间:  2010-1-9 22:59
作者: gaoxinhy     标题: 谢谢

谢谢分享
时间:  2010-1-11 09:53
作者: sun3789536

很不错,很感谢
时间:  2010-1-12 14:58
作者: lijunsu37

好资料,值得欣赏,学习之中!
时间:  2010-1-14 00:03
作者: wangdudu1111     标题: 很不错

挺不错的资料,谢谢楼主了!
时间:  2010-1-16 19:35
作者: jy3006

找了好久,谢谢了
时间:  2010-1-28 10:18
作者: 23c

:)  感谢楼主分享,太棒了
时间:  2010-3-10 09:53
作者: lightking

感谢楼主的分享
时间:  2010-3-19 10:59
作者: gaohouzhi     标题: EXCELLENT 非常好

这个东西很解渴,

附件: 20090627_a275f8e50ea25de8d468OAWCaNO6AOQy.jpg (2010-3-19 10:59, 27.72 KB) / 下载次数 3
https://www.txrjy.com/forum.php?mod=attachment&aid=ODUyMDh8ZGExYjM5YmF8MTc1MjkwOTE5MnwwfDA%3D
时间:  2010-3-19 11:02
作者: jlqsczw

谢谢分享。
时间:  2010-3-23 14:56
作者: wenqi1129

Thanks!
时间:  2010-3-24 11:40
作者: router123456     标题: 回复 1# 的帖子

看看,好像下载不了
时间:  2010-3-25 16:52
作者: cloudxj

can't download
时间:  2010-3-30 02:34
作者: 吾行行天

THK  you
时间:  2010-4-8 16:56
作者: nionman

谢谢分享!
时间:  2010-5-4 15:35
作者: snihpl

非常感谢共享
时间:  2010-6-10 22:02
作者: yd_yxl     标题: 谢谢分享!!!


时间:  2010-6-17 14:00
作者: bgcelite     标题: 回复 1# 的帖子

谢谢分享。
时间:  2010-7-2 13:52
作者: npfc

very very thks~!
时间:  2010-7-17 18:39
作者: 7451

谢谢分享~~~
时间:  2010-7-19 10:50
作者: lingbox

很详细的教程,,谢谢。。
时间:  2010-7-19 13:08
作者: wn31665

计划学这个,下来看看,谢谢
时间:  2010-7-19 13:25
作者: zqhziee

好东西
收了
时间:  2010-8-2 16:54
作者: vincentyyl

LZ太好了。谢谢分享!
时间:  2010-8-17 08:53
作者: lhj344512431

好资料  顶起来
时间:  2010-8-18 00:56
作者: 一池幽荷

多谢分享,谢谢
时间:  2010-8-30 09:19
作者: 王丹华     标题: 很好的资料


时间:  2010-9-5 21:52
作者: danzi

很好的资料,谢谢LZ的分享啊~~
时间:  2010-9-6 08:53
作者: skyofhh     标题: 回复 2# 的帖子

ding
时间:  2010-9-7 17:10
作者: gp601

谢谢分享。
时间:  2010-9-8 12:53
作者: 虾米注鸡血

thanks!
时间:  2010-10-2 14:43
作者: phoenixmy

不错,要下载下来看看
时间:  2010-10-27 11:38
作者: hentje

Thanks。。。。。
时间:  2010-11-6 10:02
作者: cuggoat

呵呵,现在正在找这个,谢谢了
时间:  2010-11-6 10:05
作者: cuggoat

呵呵,现在正在找这个,谢谢了
时间:  2010-11-6 13:17
作者: netentsec

多谢分享
时间:  2010-11-6 21:49
作者: 加号     标题: 回复 1# 的帖子

thank you for the sharing.
时间:  2010-11-8 11:20
作者: jftt

多谢分享
时间:  2010-12-5 14:04
作者: timhanxu

加油加油加油加油加油加油加油加油加油加油
时间:  2010-12-23 10:50
作者: daiqr12345

谢谢分享
时间:  2010-12-30 17:20
作者: rfhn163com

谢谢
时间:  2010-12-30 17:32
作者: hkp000

好资料!
谢谢分享
时间:  2011-1-4 14:34
作者: yfwd1439

华为的内部资料实际上有很多,只是安全工作挺到位,基本上公网上很少见到!
时间:  2011-1-6 11:32
作者: shaiyyt

太好了 顶
时间:  2011-1-6 13:59
作者: zhyf1901     标题: 回复 1# 的帖子

谢谢分享
时间:  2011-1-6 17:32
作者: yzlworld

谢谢楼主,真有用的!
时间:  2011-1-6 23:10
作者: wwwjy2000

thank!
时间:  2011-1-9 01:02
作者: 慕容小郭

帮助太大了,3Q
时间:  2011-1-11 15:07
作者: fionaxa

谢谢!学习~~~~
时间:  2011-1-11 15:29
作者: threetree3676

thank you !
时间:  2011-1-11 17:11
作者: sailorone

谢谢分享
时间:  2011-1-12 12:41
作者: huadong

谢谢分享
时间:  2011-1-14 13:34
作者: flymidy

很好~
时间:  2011-1-19 12:02
作者: mynewyear     标题: 特意注册了号

最近在找TCL的教程。朋友推荐了这个。下载了好好钻研下。
时间:  2011-1-19 15:04
作者: mzyuandan

谢谢楼主1
时间:  2011-1-19 20:19
作者: wistmmz

谢谢楼主,真有用的
时间:  2011-1-20 13:05
作者: playking2009     标题: 谢谢lz分享,下来看下


时间:  2011-1-21 11:14
作者: geminidy

多谢!小弟正在学习,相信能起很大作用!
时间:  2011-1-21 11:32
作者: hkp000

谢谢分享
时间:  2011-1-24 16:11
作者: llx88217

谢谢分享
时间:  2011-1-24 16:34
作者: latinpig

谢谢分享。
时间:  2011-1-25 17:18
作者: dong_xg

就是来学这个的
时间:  2011-1-27 22:51
作者: song_bit

多谢分享.....
时间:  2011-1-28 21:34
作者: hp116

十分感谢
时间:  2011-1-29 13:57
作者: y2001szl

谢谢,多谢。^_^。正准备学习
时间:  2011-2-11 20:26
作者: richardsong

这是个好东西
时间:  2011-2-20 17:56
作者: qamoin

强大的 顶
时间:  2011-2-22 00:02
作者: aabble

好东西啊,谢谢`分享




通信人家园 (https://www.txrjy.com/) Powered by C114