- 18
- 0
- 约8.67千字
- 约 37页
- 2017-05-21 发布于河南
- 举报
tcl脚本语言(上)
TCL脚本语言 语法 变量 表达式 LIST 控制流 过程 字符串操作 语法 脚本、命令和单词符号 一个TCL脚本可以包含一个或多个命令。命令之间必须用换行符或分号隔开。 下面的两个脚本都是合法的: set a 1 set b 2 或 set a 1;set b 2 TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词 则是这个命令的参数,单词之间必须用空格或TAB键隔开。 语法 置换 变量置换 变量置换由一个$符号标记,变量置换会导致变量的值插入一个单词中 命令。 置换命令 置换是由[]括起来的TCL命令及其参数,命令置换会导致某一个命令的 所有或部分单词被另一个命令的结果所代替。 反斜杠置换 反斜杠置换\用于在单词符号中插入诸如换行符、空格、[、$等被TCL解 释器当作特殊符号对待的字符 。 语法 双引号和花括号 TCL解释器对双引号中的各种分隔符将不作处理,但是对 换行符及$和[]两种置换符会照常处理。 在花括号中,所有特殊字符都将成为普通字符,失去其特 殊意义,TCL解释器不会对其作特殊处理。 语法 注释 TCL中的注释符是‘#’,‘#’和直到所在行结尾的 所有字符都被TCL看作注释,TCL解释器对注释将不 作任何处理。不过,要注意的是,‘#’必须出现在TCL 解释器期望命令的第一个字符出现的地方,才被当作 注释。 变量 简单变量 一个TCL的简单变量包含两个部分:名字和值。名字和值都可以是任意 字符串。不过为了更好的使用置换,变量名最好按C\C++语言中标识符的命 名规则命名。 TCL解释器在分析一个变量置换时,只把从$符号往后直到 第一个不是字母、数字或下划线的字符之间的单词符号作为要被置换的变 量的名字 。 如果变量名中有不是字母、数字或下划线的字符,又要用置换,可以 用花括号把变量名括起来。 变量 数组 数组是一些元素的集合。在TCL中,不能单独声明一个数 组,数组只能和数组元素一起声明。数组中,数组元素的名字 包含两部分:数组名和数组中元素的名字,TCL中数组元素的 名字(下标〕可以为任何字符串。 数组元素的置换 ,除了有括号之外,其置换和简单变量类 似。 变量 相关命令 set命令 该命令能生成一个变量、也能读取或改变一个变量的值。 unset命令 该命令从解释器中删除变量,它后面可以有任意多个参数,每个参数是一个变 量名,可以是简单变量,也可以是数组或数组元素。 append命令 该命令把文本加到一个变量的后面。 Incr命令 该命令把一个变量值加上一个整数。incr要求变量原来的值和新加的值都必须是 整数。 表达式 TCL中的表达式类似于ANSI C的表达式。表达式由操作数和操作符构 成。 操作数 TCL表达式的操作数通常是整数或实数。整数一般是十进制,但如果整数的第 一个字符是0(zero),那么TCL将把这个整数看作八进制的,如果前两个字符是0x则 这个整数被看作是十六进制的 。TCL的实数的写法与ANSIC中完全一样。 运算符与优先级 TCL中用到的运算符,它们的语法形式和用法跟ANSI C中很相似,运算符优先 级也与ANSI C规定类同 。 LIST list这个概念在TCL中是用来表示集合的。TCL中 list是由一堆元素组成的有序集合,list可以嵌套定义。 list每个元素可以是任意字符串,也可以是list。下面都 是TCL中的合法的list: {} //空list {a b c d} {a {b c} d} //list可以嵌套 list是TCL中比较重要的一种数据结构,对于编写 复杂的脚本有很大的帮助。 LIST List命令 语法: list ? value value... ? 功能:这个命令生成一个list,list的元素就是所 有的value 。 实例:% list 1 2 {3 4} 1 2 {3 4} LIST concat命令 语法:concat list ?list... ? 功能:这个命令把多个list合成一个list,每个 list变成新list的一个元素。 LIST lindex命令 语法:lindex lis
原创力文档

文档评论(0)