Tcl编程简介(五) | |
lsort -mode list 排列列表。 -mode : -ascii -dictionary 与acsii类似,只是不区分大小写 -integer 转化为整数再比较 -real 转化为浮点数再比较 -command command 执行command来做比较
打开文件,返回一个文件描述符。
定义与C中相同。如文件名的第一个字符为|表示一管道的形式来打开。
proc name args body
创建一个新的过程,可以替代任何存在的过程或命令。
在函数末尾可用 return 来返回值。 puts -nonewline fileId string 向fileId中写入string,如果不加上 -nonewline 则自动产生一个换行符。 pwd 返回当前目录。
从fileId中读取numBytes个字节。
执行正则表达式的匹配。
如:
regexp -indices ^abc abcsdfjkhsdf a
执行正则表达式的替换,用subSpec的内容替换string中匹配exp的部分。 ?switchs? -all 将所有匹配的部分替换,缺省子替换第一个,返回值为替换的个数。 -nocase 不区分大小写。 如:
regsub -all abc abcabcabc eee b
set a [ff]
从string中安format来读取值到varname。 seek fileId offset ?origin? 移动文件指针。 origin: start current end offset从哪里开始算起。 set varname ?value? 设置varname用value,或返回varname的值。如果不是在一个proc命令中则生成一个全局变量。 source fileName 从filename中读出内容传给Tcl解释起来执行。 split string ?splitChars? 将string分裂成列表。缺省以空白为分隔符,也可通过splitChars来设定分隔符 string subcommand arg ... 用于字符串的命令。 string compare string1 string2 执行字符串的比较,按 C strcmp 的方式。返回 -1, 0, or 1。 string first string1 string2 在string1种查找string2的定义次出现的位置。未找到返回-1。 string length string 返回字符串string的长度。 string match pattern string 判断string是否能匹配pattern。pattern是以shell文件名的统配格式来给出。 string range string first last 返回字符串string中从first到last之间的内容。 string tolower string 将string转换为小写。 string toupper string 将string转换为大写。 string trim string 将string的左右空白去掉。 string trimleft string 将string的左空白去掉。 string trimright string 将string的右空白去掉。 tell fileId 返回fileId的文件指针位置。 time command 执行命令,并计算所消耗的时间。
监视变量的存储。子命令定义了不少,但目前只实现了
command 条件满足时执行的命令。 以三个参数来执行 name1 name2 ops name1时变量的名字。当name1为矢量时,name2为下标,ops为执行的操作。 例如:
unknown cmdName
unknown 并不是 Tcl 的一部分,当 Tcl 发现一条不认识的命令时会看看是否存在 unknown命令,如果有,则调用它,没有则出错。 如:
删除一个或多个变量(标量或矢量)。 uplevel command ... 将起参数连接起来(象是在concat中)。最后在由level所指定的上下文中来执行。如果level是一个整数,给出了在栈中的距离(是跳到其它的命令环境中来执行)。缺省为1(即上一层)。 如:
再看下一个:
如果level是以#开头后接一个整数,则level指出了在栈中的绝对位置。如#0表示了顶层(top-level)。 a b c 分别为三个命令,下面是它们之间的调用关系, top-level -> a -> b -> c -> uplevel level 绝对位置: 0 1 2 3 当level为 1 或 #2 都是在 b 的环境中来执行。 3 或 #0 都是在 top-level 的环境中来执行。 upvar ?level? otherVar myVar ?otherVar myVar ...? 在不同的栈中为变量建立连接。这里的level与uplevel中的level是同样风格的。 例如:
while test body
举个例子吧:
Built-in variables 内建的变量下名的全局变量是由 Tcl library 自动来管理的。一般是只读的。 env 环境变量数组。 如:
errorCode
当错误发生时保存了一些错误信息。用下列格式来存储: CHILDKILLED pid sigName msg 当由于一个信号而被终止时的信息。 CHILDSTATUS pid code 当一个子程序以非0值退出时的格式。 CHILDSUSP pid sigName msg 当一个子程序由于一个信号而被终止时的格式。 NONE 错误没有附加信息。 UNIX errName msg 当一个内核调用发生错误时使用的格式。 errorInfo 包含了一行或多行的信息,描述了错误发生处的程序和信息。 |
Tcl编程简介(五)
最新推荐文章于 2025-05-16 12:23:43 发布