- 1
- 0
- 约 4页
- 2017-05-08 发布于四川
- 举报
TCL语言学习初涉
TCL脚本语言学习语言简介???????? Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,功能强大。是tool command language的缩写,发音为 tickle”。实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。它有一个简单的语法和很强可扩充性,Tcl可以创建新的过程以增强其内建命令的能力。其次,Tcl是一个库包,可以被嵌入应用程序,Tcl的库包含了一个分析器、用于执行内建命令的例程和可以使你扩充(定义新的过程)的库函数。应用程序可以产生Tcl命令并执行,命令可以由用户产生,也可以从用户接口的一个输入中读取(按钮或菜单等)。但Tcl库收到命令后将它分解并执行内建的命令,经常会产生递归的调用。学习动机???????? 因为需要研究NS2无线路由协议,其中ns2的模拟使用tcl来写的,如果tcl不搞懂的话就没法看懂,所以还是来系统的学习一下。另外不得不抱怨一句ns2真是够折磨人的,相当的考验人的耐心~~……真不知道最后能不能达到导师的要求,先厚着脸皮做吧。基本语法1.命令结构:commandName arguments。每条命令之间通过换行或者;隔开。例如:12set foo 0set bar 1;?2.注释:使用#注释,不过要注意的是下面的注释是错误的:1set foo 0?#这个是注释因为tcl解析器总是认为一条命令应该以换行或者分号结束,其他的在同一行中都认为是参数。所以正确的应该是:1set foo 0;?#这个是注释其实对于习惯于.net编程的人来说每行末尾加个;应该是理所当然的事情,所以这个对我们应该没有什么不习惯的。3.数据类型:tcl不支持.net中的形如int , double ,char等等类型,唯一支持的就是string类型。也就是说一个变量可以在不同的时刻理解为不同的类型。4.变量tcl可以定义两种类型的变量:变量和数组。变量:在tcl变量不需要声明就可以直接赋值。给变量赋值的例子:12set ba 1;set ma “qian li feng”;#加引号的作用是为了告诉编译器包括空格???????????????????取得变量的值可以在对应的变量名前面加$来取得,例如:??????1puts $ba;??#表示打印出ba的值?数组:数组也不需要声明,直接赋值,例如:12set qian(0) 1; set qian(1) 2;?????????一个比较有意思的地方是数组下标可以不按照顺序来写,也不一定是数字,可以是字符串。例如:123set qian(123) f; set qian(6789) fs; set qian(good) yes;???????? 我们可以使用puts $qian(123);的形式来获得数组的内容。当然tcl数组也支持多维数组,声明形式为:1set qian(1,1,1,1,1) fs;?#随便多少维???????? 如果我们要查看某个已经赋值的数组的信息,可以使用parray命令:如:?????1parray qian;???#将打印出qian数组的所有信息?5.字符串操作string 命令基本语法如下(这里的string1,string2可以是字符串也可以是变量,option是下列选项之一)??1string option string1 string2;?option的操作选项: compare 按照字典的排序方式进行比较。根据string1 ,=,string2分别返回-1,0,1 first 返回string2中第一次出现string1的位置,如果没有出现string1则返回-1 last 和first相反 trim 从string1中删除开头和结尾的出现在string2中的字符 tolower 返回string1中的所有字符被转换为小写字符后的新字符串 toupper 返回string1中的所有字符串转换为大写后的字符串 length 返回string1的长度例子:1string length $qian;??#将返回变量qian的长度6.数字操作因为tcl中只有一个string类型的变量,所以当要操作数字进行运算的时候,tcl提供了incr和expr两个操作数。?incr的基本用法为:incr variable integer(variable必须为数字) 例如我要将一个数字加312set a 3;incr a 3;?#将a加3,如果要减3,则为 incr a –3; 默认的incr a等同于.net里面的a++的意思,即本身自增1。?expr的基本语法为:1expr function?number expr是为了提供更
您可能关注的文档
- Sjtkgg期货营销和流程.doc
- SMA型射频同轴连接器家族1瞥.doc
- SMP_YZ_770_0DGK型口服液瓶灌装压盖机清洗再验证方案.docx
- SMP_YZ_771_0MSH系列高温灭菌隧道烘箱清洗再验证方案.docx
- SMP_AQ_014_03关键装置和要害部位安全管理规定.doc
- SMT设备工程师职责和工作指引.doc
- SMT贴装编程技巧、制程优化、设备维护和故障解决.doc
- SMT资料[323个文件].doc
- SNT12092003国际候机[车、船)厅卫生标准监测规程.doc
- soildworks10103星正版安装教程.doc
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- 2024年山东化工职业学院单招英语考试模拟试题及答案解析.docx VIP
- 农业生态学课件.pptx VIP
- 七十岁驾照换证三力测试题库(含答案).docx VIP
- 投入产出分析(第三版)第二章 全国实物型投入产出模型.ppt VIP
- 2025河南省中考物理试题含答案解析.pdf
- 全季酒店施工方.doc VIP
- 2026年湖南铁道职业技术学院单招职业技能测试题库推荐.docx VIP
- 2026广东新高考地理得分技巧精讲试卷(附答案解析).docx VIP
- 2023年山东化工职业学院单招英语考试模拟试题及答案解析.docx VIP
- 华中农业大学《大学语文》课件-第1-2章中国古代文学之先秦文学.ppt VIP
原创力文档

文档评论(0)