当前位置:主页 > 技术文档 > TCL脚本 下载

TCL脚本学习 高质量版

  • 更新:2020-10-11 10:02:53
  • 大小:3.4 MB
  • 热度:540
  • 审核:印建安
  • 类别:技术文章
  • 格式:PDF

  • 资源介绍
  • 相关推荐

TCL是一种很通用的脚本语言,功能强大。最早称为“工具命令语言”"Tool Command Language",但是目前已经不是这个含义,不过我们仍然称呼它TCL,发音为"tickle”。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。

实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。它有一个简单的语法和很强可扩充性,Tcl可以创建新的过程以增强其内建命令的能力。其次,Tcl是一个库包,可以被嵌入应用程序,Tcl的库包含了一个分析器、用于执行内建命令的例程和可以使你扩充(定义新的过程)的库函数。应用程序可以产生Tcl命令并执行,命令可以由用户产生,也可以从用户接口的一个输入中读取(按钮或菜单等)。但Tcl库收到命令后将它分解并执行内建的命令,经常会产生递归的调用。

Tcl数据类型简单。对Tcl来说,它要处理的数据只有一种——字符串。Tcl将变量值以字符串的形式进行存储,不关心它的实际使用类型。内嵌的Tk(toolkit)图形工具可以提供简单而又丰富的图形功能,让用户可以轻松的创建简单的图形界面。

Tcl的执行是交互式的,Tcl提供了交互式命令界面,界面有两种:tclsh和wish。tclsh只支持Tcl命令,wish支持Tcl和Tk命令。通过交互界面,我们就可以象执行UNIX shell命令一样,逐条命令执行,并即时得到执行结果。

 Tcl/Tk可以提供跨平台的支持。Tcl语言可以运行于绝大多数当今流行的UNIX、WINDOWS和Macintosh等系统上,而且命令通用,只是启动的细节有些不同。

资源下载

资源下载地址1:https://pan.baidu.com/s/1HRpdm7oJtDYyIJQRqnaJBA

网友留言

tcl脚本知识点总结
康曼吟

tcl,全名tool command language,是一种通用的工具语言。

1)每个命令之间,通过换行符或者分号隔开;
2)tcl的每个命令包含一个或者多个单词,默认第一个单词表示命令,第二个单词表示参数,
单词之间必须同空格或者tab键隔开;
3)tcl解释器的执行过程,分析阶段,对单词的拆分,同时进行必要的置换;
执行阶段,检查命令有效性,启动c/c++解释器,传递之后的单词作为参数,执行命令;
4)tcl中的注释,用###来表示,一个就可以。必须在一行的开头
5)同一行命令太长,转到下一行,使用\ //,先转义空格隔开单词,之后//表示转到下一行;
6)大括号,{}中,不做特殊字符的识别,所有字符作为普通字符来处理;
7)双引号,""""中,只有部分的特殊字符被处理,换行符,$,[],其他作为普通字符;
8)tcl对复杂的数据结构支持不好,数组的支持也很奇怪。本文只讨论变量;
9)tcl中的list 数据类型,不声明变量,直接放在{}中,也定义了一些list操作函数,直接对{}进行操作;
list中的不同对象之间用空格隔开;可以将list赋值给一个变量

tcl中的置换有三种:

1)变量置换,$只是进行变量的简单替换,并不进行运算;
set x 10; set y $x+100;    那y的值是10+100,被当做一个整体的字符来处理,而并没有进行运算;
2)命令置换,[,将最后一个命令的执行结果返回作为参数,内部可以有多条命令;
set y [expr  $x+100;]    这时的y表示110;[]中的命令必须是若干tcl可识别的正确命令;
3)反斜杠置换,\,用来打出一些特殊的字符;如换行符\n,空格,[,$,并没有另一个方括号];
set msg money\ \$3333\ \nArray\ a\[2]    输出money $3333
Array a[2]

tcl中的操作数,整数,实数都可以,0x开头表示十六进制,o开头表示八进制;

运算符和优先级与C类似;

tcl中的控制流,while,for,if,foreach,switch,各个参数用空格隔开,可以使用{}包住各个分开的参数;

其中的{},{必须写在与命令一行的地方,避免tcl认为命令已经结束;

break和continue,来控制单个循环;

tcl中的默认命令:

1)set 设置变量,变量命令也遵守C的标准,字符,数字,下划线;
set a 2;  $a表示该变量
2)unset,删掉某个变量;可以加多个变量   unset  a   b;表示都被删除
3)append,变量拼接,  incr,操作数必须是整数,相加;
4)expr,数学计算命令,参数必须是数字,支持很多C的运算函数,可以直接调用;

tcl中的输入输出:

1)scan,可以实现格式化输入:
scan "some 26 34"  "some %d %d" a b
2)puts,格式化输出:
puts [format "the value of c is %d, d is %d, e is %d, f is %d" $c  $d  $e  $f]

tcl中的错误,异常处理:

1)catch  command ? varname,执行command,返回之后的结果为命令返回值,或者直接赋值给变量var_name;并不会退出tcl
2)error message ? info ? code,将message作为一个错误信息,返回回去,

TCL脚本实例
咸尔槐

程序示例

# add a member function call "greet"
Class mom
mom instproc greet {} {
         $selfinstvar age_
         puts"$age_ year old mom say: How are you doing?"
}
 
# Create a child class of "mom" called"kid"
# and overide the member function "greet"
Class kid -superclass mom
kid instproc greet {} {
         $selfinstvar age_
         puts"$age_ year old kid say: What's up, dude?"
}
 
# Create a mom and a kid object, set each age
set a [new mom]
$a set age_ 45
set b [new kid]
$b set age_ 15
 
# Calling member function "greet" of eachobject
$a greet
$b greet