昨天,我们学了一天的tcl.现在有时间就总结一下昨天学的东东吧。
写得不好的、或者有错误的地方的希望大家多提提意见,在这里3Q你们了!!
TCL的含义:1.(TOOL COMMAND LANGUAGE)是一种解释执行的脚本语言;
2.具有象c/c++语言类似的控制结构;(如:变量、IF控制、循环控制、SWITCH控制、过程等)
3.TCL提供一个功能较为齐备的固有的核心命令集;
4.TCL是由一个C库实现的,它提供方便的C/C++语言的扩展接口;
TCL的特点: * 任何东西都是一条命令,包括语法结构(for, if等)。
* 任何事物都可以重新定义和重载。
* 所有的数据类型都可以看作字符串。
* 语法规则相当简单
* 提供事件驱动给Socket和文件。基于时间或者用户定义的事件也可以。
* 动态的域定义。
* 很容易用C,C++,或者Java扩展。
* 解释语言,代码能够动态的改变。
* 完全的Unicode支持。
* 平台无关。Win32,UNIX,Mac上都可以跑。
* 和Windows的GUI紧密集成。Tk
* 代码紧凑,易于维护。
TCL的部分基本命令:set、unset 、oyts、expr、source、ubcr、after
另外还有IF、WHILE、FOR、FOREACH、SWITCH控制流,还有过程PROC这些用法在这里就不细说了。
对TCL解释器的理解:由于TCL的解释器是用一个C\\C++语言的过程库实现的,因此在某种意义上我们又
可以把TCL看作一个C库,这个库中有丰富的用于扩展TCL命令的C\\C++过程和函数,可以很容易就在C\\C++应
用程序中嵌入TCL,而且每个应用程序都可以根据自己的需要对TCL语言进行扩展。我们可以针对某一特定应用
领域对TCL语言的核心命令集进行扩展,加入适合于自己的应用领域的扩展命令,如果需要,甚至可以加入新的
控制结构,TCL解释器将把扩展命令和扩展控制结构与固有命令和固有控制结构同等看待。扩展后的TCL语言将
可以继承TCL 核心部分的所有功能,包括核心命令、控制结构、数据类型、对过程的支持等。根据需要,我们
甚至可以屏蔽掉TCL的某些固有命令和固有控制结构。通过对TCL的扩展、继承或屏蔽,用户用不着象平时定义
一种计算机语言那样对词法、语法、语义、语用等各方面加以定义,就可以方便的为自己的应用领域提供一种功
能完备的脚本语言。(刚学时我不是很理解TCL解释的概念,但是看了andycai的文章后我头脑里有了一个基
本框架了,在这里致谢了!)