文章目录
从业IC的人员都知道tcl语言对于测试人员或者说设计人员都是非常重要的一门语言,为了建立更好的自动化测试环境,我们可能不仅仅是只需要了解那份执行的scripts,也可能需要知道环境里面的scripts,而里面必然涉及到一些选择语句等等,如果能把tcl的知识掌握好,然后再去做几个测试练习,最后,自己动手写几个脚本,再带着这样的思想去揣摩工作中的环境,想必能力上会有更好地提升。
tcl系列博文,将为这些能力打下一个基础前提。分为三篇: 基础篇、 练习篇、 实际项目篇。
TCL基本入门
TCL解释器对一个命令的求值分为了:分析和执行
分析:把命令分解为独立的单词,进行必要的置换动作。
执行:把第一个单词当做命令,查看这个命令是否有定义,有的话激活其对应的内部动作。
置换分了了三种:
1、变量置换 $
2、命令置换 [ ]
3、反斜杠置换
解释:
%set x 10
%set y [expr $x + 100]
y的值是110,当TCL解释器遇到字符 【 ,它就会把随后expr作为一个命令名,从而激活expr对应的动作,如果我们去掉【 】,TCL会报错,正常情况下只把命令行中的第一个单词作为命令,注意【】中必须是一个合法的TCL脚本,长度不限。【】中的脚本的值为最后一个命令的返回值。
%set y [expr $x+100;set b 300]//y 的值为300
反斜杠置换中,在单词符号中插入换行符、空格、【、$等被TCL解释器当做特殊符号对待的字符。
双引号和花括号:
TCL解释器对双引号中的各种分隔符将不做处理,但是对换行符、以及$ 和【】两种置换符会照常处理。
%set x 100
100
%set y "$x ddd"
100 ddd
在花括号中,所有特殊字符都将被成为普通字符,失去特殊意义。
%set y {
/n$x [expr 10 +100]}
/n$x [expr 10 +100]
数组
数组不需要声明,直接赋值即可,也不必按照顺序来:
set i(1) 123 ; set i(16) hi
当然也支持任意维数的数组:
set i(1,2,3) hi
引用的时候直接$i(1,2,3)即可
set与unset
一个是设置变量,一个删除变量。
append的用法
append的目的是将新的单词追加到原来旧的变量后面,而不是像set那样去替换原来这个旧的变量。
1)
% set x hello
hello
% set y world
world
% set x "$x$y"
helloworld
2)
% set x hello
hello
% set y world
world

本文介绍了TCL语言的基础概念,包括变量置换、命令置换、数组使用、append和incr操作,以及常见列表操作如llength、lindex、lrange等。深入讲解了列表的创建、元素操作和控制流程,如if语句、循环结构(while、for、foreach)和eval命令。适合测试人员和设计人员提升自动化测试脚本能力。
最低0.47元/天 解锁文章
225

被折叠的 条评论
为什么被折叠?



