网站大量收购独家精品文档,联系QQ:2885784924

TCL语言手册.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCL语言手册

Tcl 语言快速参考手册 Tcl(Tool Command Language,即工具命令语言;Tcl 念作tickle即“踢叩” )是一种简 单易用易于扩展的嵌入式脚本语言, 主要用于发布命令给交互式程序(如文本编辑器、调试器), 及完成自动化批处理工作。Tcl 语言不同于其他语言的最大的特点是:Tcl 程序由 Tcl 命令序列 组成,其每条语句都是一条指令。 由于其极易扩展的特性,Tcl 有大量的用 C/C++编写的扩展用于提供 Tcl 本身不具有的功能。 其中使用最广泛的扩展是 TK,TK 提供了各种 OS 平台下的图形用户界面 GUI(连强大的 Python 语言都不单独提供自己的 GUI,而是提供接口适配到 TK 上)。另一个流行的扩展包是 Expect, 它提供了通过终端自动执行命令的能力,例如 passwd, ftp, telnet 等命令驱动的外壳。 一、Tcl 程序基本结构 1、基本语法 Tcl 的语法类似于 shell:一 条 Tcl 的命令串包含若干条命令,命令使用换行符或分号来隔开; 而每一条命令包含若干个域(field),域使用空白(空格或 TAB)来隔开——第一个域是命令的 名字,其它的域是该命令的参数。 Tcl 解释器对一个命令的执行过程分为两步:分析阶段和执行阶段。在分析阶段,Tcl 解释 器运用规则识别出命令并把命令分成一个个独立的单词,同时进行必要的置换(substitution); 在执行阶段,Tcl 解释器会把第一个单词当作命令名,并查看这个命令是否有定义,如果有定义 就激活这个命令对应的 C/C++过程,并把所有后面的单词作为参数传递给该命令过程,让命令 过程进行处理。 Tcl 解释器既可以执行 Tcl 内建命令亦可执行用户自己通过 C/C++函数实现的新建命令, 在应用程序中可用函数 Tcl_CreateCommand 来完成命令的创建。所有命令参数都被作为字符 串来传递,命令自己会按其所需来解释参数。 另外关于 Tcl 的注释有一个特殊的要求:#必须出现在 Tcl 解释器期望命令的第一个字符出 现的地方,才被当作注释。例如: set a 100 # Not a comment set b 101; # this is a comment 第一个例子中#及其后面的内容会被当作 set 的参数而非注释从而导致参数个数错误;但 第二个被解释为注释,因为#前面有一个分号,而分号和换行一样被看作是命令的分隔符。 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 的值还不是我们想要的

文档评论(0)

ahuihuang1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档