- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工具命令语言简介
工具命令语言简介
Tcl, 工具命令语言(Tool Command Language)是一门有编程特征的解释语言,可在 Unix、Windows 和 Apple Macintosh 操作系统上跨平台运行。Tk 是与之关联的工具箱,是开发基于窗口的应用的容易的和有效的方式。应用任务被分割成模块,并且任何特定应用的任务被书写和编译成 C 或 C++ 程序,并被导出(export)成一个新的 Tcl 命令。 进而,一个 Tcl 脚本是一组现存和新建的 Tcl 命令,它们被组合成完整的应用。? 脚本语言非常象 shell 语言,有访问和执行任何其他程序的能力。所以许多基于 Tcl 的应用程序可以通过协同工作而建立和扩展成一个新的应用。
Tcl 包括很少的语法规则和一系列(仍在增长)的核心命令。Tk 为开发基于交互式组件(widget)的应用提供一个高层的应用编程接口,特别是为那些希望集中精力于他们的应用功能的人,对于底层的窗口系统和/或象 OSF/Motif 这样的附增工具箱,他们不需要获得与之相关的有深度的编程专门技能。Tcl/Tk 是自由软件,现在可在 Apple Macintosh 和 Windows 上获得,并且有广泛的用户基础和一堆持续增长的丰富的捐献软件。Tcl/Tk 的更广泛的可获得性和使用并且易学易用,使它成为教授图形用户界面设计和开发原理的最适宜的工具。
Tcl 语言
没有固定的(fixed)文法?
由解释器(分析器)和执行命令的过程来定义
大小写敏感
Tcl 基础
脚本, 命令, 和字(word)
Tcl 是基于字符串的解释型命令语言。它在语法上的简单性和语义上的通常的感官性的方式(common sensical approach)使这门语言易于学习和熟练。这个简短的教程将集中于最基本的概念,使你能尽快的起步。
Tcl 脚本由一个或多个命令组成,用换行或分号分隔。
command arg1 arg2 arg3 ...
命令是基本的执行单元(element)。一个命令跟随着一个或多个字,这些字是(命令)参数(parameters or arguments), 字之间用空格或 tab 分隔。
ex: puts stdout My first Tcl script.
= My first Tcl script.
求值(Evaluating)一个命令
两步过程: 分析和执行。
分析: Tcl 不给字的的值提供任何意义。它只是完成简单的字符串操作,例如,变量替换。Tcl 只进行一遍替换(每个字符被严格的扫描一次)。一次替换的结果不为了进一步的替换而被扫描。
执行: 为命令的参数提供意义。Tcl 假定字序列的第一个字是命令,检查是否定义了命令,并且定位一个命令过程 来执行。
注意: 参数在缺省时是被引用的 -- 如果你想求值,你必须显式的提出要求例如:
set a 5set b a+8
第一条命令把字符串 5 赋给变量 a。第二条命令把字符串 a+8 作为新值存储在 b 中。要得到值 13,你必须显式的去求值,比如:
set a 5set b [expr $a+8]
每对方括号调用一次附加的求值。对于 Tcl 你必须记住的一件事是它只做你认为它将要做的事。求值的模型很直接了当。有一个单独的命令和零或多个参数。这些参数可以依次是必须被求值的有参数的命令。这些命令的返回值变成要被求值的最初的命令的参数。
变量,命令和反斜线替换
在 Tcl 中通过使用变量来维护状态,变量用 set 命令来声明和实例化(instantiate)。
例如:
set loopCounter 0
注意分开的变量声明是没有必要。使用美元标号来检索变量值,这对 shell 程序员和 Perl 开发者是很熟悉的,在何时使用与何时不使用美元标号的相关规则上有细微的区别。
例如:
if
($loopCounter 10) {
do something
}
$ 变量替换: 不声明变量 -- 它们都是任意长度的字符串类型。变量替换可以在一个字中的任何地方发生(例如 button .b$num)。
[ ] 命令替换: 在方括号中任何东西被作为一个 Tcl 脚本来求值。
\ 反斜线替换: 转义符,用于 $、换行、引号等。
引用和注释
双引号: 空格,tabs,换行,分号被作为普通的字符对待(通常的 $,命令,和反斜线替换正常发生)。
花括号: 所有特殊字符失去特殊意义(不发生替换)。花括号延期 求值。
注释: 如果第一个非空字符是 #,知道换行的所有东西都是注释。如果 #在其他任何地方出现,它被当作通常的字符。?
变量
简单变量 有一个名字和一个值(被作为一个字符串存储)。
数组是一组元素(element)
文档评论(0)