欢迎来到天天文库
浏览记录
ID:37798821
大小:317.29 KB
页数:12页
时间:2019-05-31
《TCL脚本语言-1-了解它,一小时之内》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、TCL、Python和软件测试自动化1TCL脚本语言作者:雷雨后Email:leiyuhou010@gmail.comTCL、Python和软件测试自动化3了解它,一小时之内!TCL语言非常简单,下面我们通过一个简单的例子,让我们对TCL有一个大概的映象和了解。如果你会使用CShell脚本或者有过C/C++的经验,那么TCL对你而言,应该非常容易。先看看下面的程序complex.TCL:#Filecomplex.TCL#packagerequireItclpackagerequirecontrolitcl::classCo
2、mplex{publicvariablem_r;#实数publicvariablem_i;#虚数constructor{ri}{setm_r$rsetm_i$i}publicmethod+{c}{;#复数的加法setr[expr"$m_r+[$ccget-m_r]"]seti[expr"$m_i+[$ccget-m_i]"]return[code[Complex#auto$r$i]]}publicmethodGetReal{}{;#复数的减法return$m_r}publicmethodGetImag{}{return$m
3、_i}publicmethod-{c}}作者:雷雨后Email:leiyuhou010@gmail.comTCL、Python和软件测试自动化4itcl::bodyComplex::-{c}{setr[expr"$m_r-[$ccget-m_r]"]seti[expr"$m_i-[$ccget-m_i]"]return[itcl::code[Complex#auto$r$i]]}promain{}{;#定义了过程mainsetr100;seti200Complexa$r$iComplexb5050setc[a-b]cont
4、rol::controlassertenabled1puts“c.real=[$cGetReal];c.imag=[$cGetImag]”control::assert"[$cGetReal]==50"control::assert"[$cGetImag]==150"}main;#调用过程main上面的代码实现了一个简单的复数类,并且实现了几个成员函数,完成加法和减法操作。最后的代码创建两个对象,并且相减得到另外一个对象。然后使用assert来断定我们的操作是正确的。启动解释器我们可以在Dos提示符中输入命令tclsh来启
5、动TCL解释器,并且进入交互式模式,然后使用source命令来执行我们刚才创建的脚本,如下:C:>tclsh%cde:/work/script%sourcecomplex.TCLc.real=50;c.imag=150%交互式模式下,我们每输入一次命令,TCL解释器就执行这命令,然后把命令的执行结果给打印出来。如果出现了语法错误或者异常,就把异常信息给打印出来。我们也可以在DOS提示符下输入tclshe:/work/script直接执行我们的脚本,如下:作者:雷雨后Email:leiyuhou010@gmail.comT
6、CL、Python和软件测试自动化5C:>tclshe:/work/script/complex.tclc.real=50;c.imag=150C:>ActiveTCL软件包中还有一个程序tkCon,可以在启动菜单中找到。这是一个使用TCL/Tk开发的图形界面的脚本解释器,使用起来更加方便。变量和表达式TCL中也存在变量的概念,我们可以创建变量,赋值,引用,删除变量,比如上面的代码中:%setr100;seti200;#创建了两个变量r和i,并且初始化为100和200200%Complexm$r$i;#引用变量r和i,
7、创建了一个Complex对象m%TCL中的变量没有类型,或者我们换一种说法,所有的变量都是同一种类型:“字符串”类型。比如上面例子种的变量r和i,他们的值分别是100和200,这里100和200都是字符串,没有整数这么一说。可能我们会迷惑了,如果我要计算这两个数的和,怎么办?%setsum$r+$i;#企图计算r和i两个变量的和,但是事与愿违;100+200%setsum[expr$r+$i];#只有这样才行300%看看上面的例子就明白了,第一种方法计算sum,结果sum的值是字符串“100+200”。只有通过第二种方式,
8、使用expr命令来计算表达式$r+$i,sum的值才是我们期望的300。在TCL中,所有的数学计算都是通过expr命令来实现的。例如通过计算正弦来得到2的平方根:%setPI3.1415926535897932;#创建变量PI3.1415926535897932%expr"cos($PI/4)*2";#
此文档下载收益归作者所有