TCL语言简述

主要摘自一个pdf版本的TCL教程和一些网络资料,挑了一些个人觉得有用的,以便以后查阅。

基本概念

  Tcl (最早称为“工具命令语言”"Tool Command Language", 但是目前已经不是这个含义,不过我们仍然称呼它为TCL)是一种 脚本语言 。 由John Ousterhout创建。 TCL很好学,功能很强大。TCL经常被用于 快速原型开发,脚本编程, GUI 和测试等方面。TCL念作“踢叩” "tickle". Tcl的特性包括:

  * 任何东西都是一条命令,包括语法结构(for, if等)。

  * 任何事物都可以重新定义和重载。

  * 所有的数据类型都可以看作字符串。

  * 语法规则相当简单

  * 提供事件驱动给Socket 和文件。基于时间或者用户定义的事件也可以。

  * 动态的域定义。

  * 很容易用C , C++ ,或者Java 扩展。

  * 解释语言,代码能够动态的改变。

  * 完全的Unicode 支持。

  * 平台无关。Win32 , UNIX , Mac 上都可以跑。

  * 和Windows 的GUI紧密集成。 Tk

  * 代码紧凑,易于维护。


Tcl语言的一大特性就是嵌入型,可以跟其他的应用程序互动,互相调用。

NS是使用了所谓的分裂对象模型 ,使用两种OO语言,Otcl和C++,编写。两者的关系有一篇文章 做了很好的叙述。要学好NS2,必然要对tcl有深入的了解。


Tcl的语法

TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词则是这个命令的参数,单词之间必须用空格或 TAB键隔开。

在分析阶段,TCL 解释器运用规则把命令分成一个个独立的单词,同时进行必要的置换(substitution) ; 在执行阶段,TCL 解释器会把第一个单词当作命令名 ,并查看这个命令是否有定义,如果有定义就激活这个命令对应的 C/C++过程,并把所有的单词作为参数传递给该命令过程,让命令过程进行处理


置换(substitution)

TCL解释器在分析命令时,把所有的命令参数都当作字符串看待,

%set x 10 //定义变量 x,并把x 的值赋为 10 
10 
%set y x+100 //y的值是 x+100,而不是我们期望的 110 
x+100  

所以,在tcl中需要进行替换,达到我们希望的结果。

Tcl提供三种形式的置换:变量置换、命令置换和反斜杠置换


■变量置换

变量置换由一个$符号标记,变量置换会导致变量的值插入一个单词中 。例如: 
%set y $x+100   //y 的值是 10+100,这里x 被置换成它的值 10  

10+100 
这时,y 的值还不是我们想要的值 110,而是 10+100,因为T

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值