- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eval arg arg ... 它可以接收一个或多个参数,然后把所有的参数以空格隔开组合到一起成为一个脚本,然后对这个脚本进行求值。 (3)source命令 source命令读一个文件并把这个文件的内容作为一个脚本进行求值。例如: source e:/tclc/hello.tcl 注意路径的描述应该和UNIX相同,使用/而不是\。 2.置换(Substitution) set x 10 set y 100 + x 上面命令执行后,y的值是“100 + x”而不是我们期望的110。这是因为TCL解释器在分析命令时,把所有的命令参数都当作字符串看待,所以x 被看作了字符串“100 + x”的一部分。如果我们想使用x的值10 ,就必须告诉TCL解释器:我们在这里期望的是变量x的值,而非字符x。怎么告诉TCL解释器呢,这就要用到TCL语言中提供的置换功能。 TCL提供三种形式的置换:变量置换、命令置换和反斜杠置换。每种置换都会导致一个或多个单词本身被其他的值所代替。置换可以发生在包括命令名在内的每一个单词中,而且置换可以嵌套。 (1)变量置换(variable substitution) 变量置换由一个$符号标记,变量置换会导致变量的值而非变量(标识符)本身被插入到字符串中。 set x 10 set y 100 + $x 这时,y的值还不是我们想要的值110,而是10+100,因为TCL解释器把10+100看成是一个字符串而不是表达式;y要想得到值110,还必须用命令置换,使得TCL会把10+100看成一个表达式并求值。 (2)命令置换(command substitution) 命令置换是由[ ]括起来的TCL命令及其参数,命令置换会导致某一个命令的所有或部分单词(参数)被另一个命令的结果所代替。 set x 10 set y [expr 100+$x] 这时,y的值就是110了。这里当TCL解释器遇到字符[时,它就会把随后的expr作为一个命令名,从而激活与expr对应的C/C++过程,并把expr命令中变量置换后得到的10+110传递给该命令过程进行处理。 注意,[ ]中必须是一个合法的TCL脚本,长度不限。[ ]中脚本的值为最后一个命令的返回值。 有了命令置换,实际上就表示命令之间是可以嵌套的,即一个命令的结果可以作为别的命令的参数。 (3)反斜杠置换(backslash subtitution) TCL语言中的反斜杠置换类似于C语言中反斜杠的用法,主要用于在单词符号中插入诸如换行符、空格、[、$等被TCL解释器当作特殊符号对待的字符。例如: set msg multiple\ space 如果没有\的话,TCL会报错,因为解释器会把这里最后两个单词之间的空格认为是分隔符,于是发现set命令有多于两个参数,从而报错。加入了\后,空格不被当作分隔符,multiple space被认为是一个单词(word)。 (4)双引号和花括号 除了使用反斜杠外,TCL提供另外两种方法来使得解释器把分隔符和置换符等特殊字符当作普通字符,而不作特殊处理,这就要使用双引号“”和花括号{}。TCL解释器对双引号中的各种分隔符将不作处理,但是对换行符及$和[]两种置换符会照常处理。而在花括号中,所有特殊字符都将成为普通字符,失去其特殊意义,TCL解释器不会对其作特殊处理。 TCL变量 TCL只支持一种数据类型:字符串(string)。所有的命令,命令的所有的参数,命令的结果,所有的变量都是字符串。TCL变量根据其结构的复杂程度分为“简单变量”和“数组变量”两类。 1.简单变量 一个TCL的简单变量包含两个部分:名字和值,其中名字和值都可以是任意字符串。不过为了更好的使用变量置换功能,变量名最好按C\C++语言中标识符的命名规则命名。这是因为TCL解释器在分析一个变量置换时,只把从$符号往后直到第一个不是字母、数字或下划线的字符之间的单词符号作为要被置换的变量的名字。例如: set a 2 set a.1 5 set b $a.1 在最后一个命令行,我们希望把变量a.1的值付给b,但是TCL解释器在分析时只把$符号之后直到第一个不是字母、数字或下划线的字符(这里是.)之间的单词符号(这里是a)当作要被置换的变量的名字,所以TCL解释器把a置换成2,然后把字符串“2.1”付给变量b。这显然与我们的初衷不同。当然,如果变量名中有不是字母、数字或下划线的字符又要用变量置换,可以用花括号把变量名括起来。例如: set b ${a.1} 2.数组变量 数组是一些元素的集合。TCL的数组和一般编程语言中的数组有很大的区别。在TCL中,不能单独声明一个数组,数组只能和数组元素一起声明。数组中数组元素的名字包含两部分:数组名和数组中元素的名字,TCL中数组元素
您可能关注的文档
- SQL Server 2008 数据库案例教程 作者 于斌 第10章 SQL Server 2008安全性管理.ppt
- SQL Server 2008数据库应用技术 作者 赵增敏 28832SQL Server 2008数据库应用技术 课件.ppt
- SQL Server2005数据库实用教程 作者 常军林 第八章.ppt
- SQL Server2005数据库实用教程 作者 常军林 第二章.ppt
- SQL Server2005数据库实用教程 作者 常军林 第九章.ppt
- SQL Server2005数据库实用教程 作者 常军林 第三章.ppt
- SQL Server2005数据库实用教程 作者 常军林 第十一章.ppt
- SQL Server2005数据库实用教程 作者 常军林 第十章.ppt
- SQL Server2005数据库实用教程 作者 常军林 第四章.ppt
- SQL Server程序设计 作者 卢奕 第1章 数据库基础.ppt
- UG NX7.5高级应用教程 作者 钟奇 第1章 UG基本知识.ppt
- UG NX7.5高级应用教程 作者 钟奇 第5章 渲染.ppt
- UG NX7.5高级应用教程 作者 钟奇 第6章 模具设计.ppt
- UG设计与加工 作者 张士军 韩雪军编著 幻灯片 第1单元.ppt
- UG设计与加工 作者 张士军 韩雪军编著 幻灯片 第2单元.ppt
- UG设计与加工 作者 张士军 韩雪军编著 幻灯片 第3单元.ppt
- UG设计与加工 作者 张士军 韩雪军编著 幻灯片 第5单元.ppt
- UG设计与加工 作者 张士军 韩雪军编著 幻灯片 第6单元.ppt
- UG设计与加工 作者 张士军 韩雪军编著 幻灯片 第8单元.ppt
- UG专用夹具设计 作者 张士军 第1单元 夹具设计基础.ppt
最近下载
- 2025-2030中国牛仔服装行业市场深度发展趋势与前景展望战略研究报告.docx
- 八大特殊作业安全管理培训(最新版课件).pptx
- 酒店管理专业人才需求调研报告.doc VIP
- 个人业绩相关信息采集表含政治表现、最满意、主要特点、不足.pdf VIP
- 新22J09 附属建筑-标准图集.docx VIP
- 世界各国语言.doc VIP
- 《新媒体传播》课件.ppt VIP
- 2025年安全员c2考试试题库(答案+解析).docx
- GBT45001-2020SO45001:2018 职业健康安全管理体系要求及使用指南.pdf VIP
- 部编版六年级上册道德与法治教案:感受生活中的法律知识.docx VIP
文档评论(0)