在TCL中使用stringcompare和string equal进行字符串的比较。命令string compare读入两个字符串参数,并对它们进行比较。如果字符串相同返回0;如果第一个字符串在字典中先于第二个字符串,返回-1;如果第一个字符串在字典中后于第二个字符串,返回1。string compare Michigan Minnesota-1string compare Michigan Michigan...
TCL中字符串的搜索
在TCL中通过命令stringfirst和string last进行字符串的搜索,使用方法如下:string first th "There is the tubwhere I bathed today"9string first th "There is the tub where I bathed today" 1227string first在第二个字符串中搜索与第一个字符串相同的子字符串。如果找到,返回最左边的相同子字符串的开头字符的...
TCL字符串的长度测量、大小写转化、裁剪和重复
string length命令在TCL中用于计算字符串中字符的个数。例如:string length "sample string"13string toupper命令将字符串中所有小写字母转换为大写字母。string tolower 命令将字符串中所有大写母转换为小写字母。例如:string toupper "Watch out "WATCH OUTstring tolower "15 Charing CrossRoad"15 chari...
TCL从字符串中截取子字符串string index和string range
在TCL中使用命令stringindex可以从字符串中取得一个字符。格式如下:string index “string” indexstring index后面的参数是一个字符串,最后一个参数给出了要取得的字符的索引。索引从0开始,以end结束。从TCL8.5开始,可以把两个整型值加减的表达式设为索引值。在使用end±整数或整数±整数的形式时,不能在索引参数中使用空白,即使把...
TCL中的字符串操作符
TCL中有4个用于表达式的字符串操作符:eq、ne、in、ni. eq和ne用来检查字符串是否相等,如果相等eq返回1,ne返回0,如果不等ne返回1,eq返回0.例如:if {$x eq “New York”} {…}要指定一个字符串操作数,必须把它放在大括号中或双引号中,或使用变量替换或命令替换。上面这个示例把整个表达式括起来是很重要的,这样表达式...
Tcl中表达式的替换规则
在TCL中表达式操作数的替换方式有两种,第一种是普通的TCL解析器机制,例如下面的命令:% set x 0.52360.5236% expr 2*sin($x)1.0000021207252057这里TCL解析器会在执行命令前替换变量x的值,传递给expr的第一个参数的值类似于2*sin(0.5236)。第二种方式则是通过表达式处理,在处理表达式时会再进行一轮变量替换和命...
在TCL中自定义数学函数的方法
在TCL8.5中,当表达式解析器遇到像sin($x)这样的数学函数时,它会把函数置换为对tcl: : mathfunc命名空间中的一个普通TCL命令的调用。如果数学函数的参数中包含逗号,则由expr处理参数,将各个分开的参数传给函数的实现过程。因此,表达式expr {sin($x+$y)}和下面这个表达式的处理过程是完全一样的。expr {[tcl:: mathfunc::sin [expr {$x+$y...
TCL中的预定义变量
TCL库自动创建和管理了一些全局变量,下面介绍几个常用的全局变量。当调用tclsh或wish脚本文件时,脚本文件的文件名存放在argv0中,命令行参数以列表形式存放在变量argv中,命令行参数的个数存放在变量argc中。如下面这段tclsh脚本:#!/usr/bin/env tclshputs “The command name is \”$argv0\””puts “There were $arg...
TCL命令的正常返回和异常返回
当TCL命令正常执行时会返回相应字符串,如果TCL命令执行时出现错误,会返回包含错误说明的字符串。例如下面这条命令因参数过多而产生了一个错误返回。% set state my examplewrong # args: should be "set varName?newValue?"不同的命令会产生不同的错误返回,这些错误返回都被存储到errorInfo栈中,可以用puts命令输出全局变...
TCL表达式中支持的运算符
在TCL中可以使用expr 命令求取表达式的运算结果,表达式中支持的运算符如下所示:(1)常规运算符•-+ ~ ! 一元减, 一元加,按位取反, 逻辑运算非.•* / % 乘, 除, 求余.•+ - 加减•<< >> 算术左移算术右移•< > <= >= 布尔运算符小于、大于、小于等于、大于等于...