排列列表。
-dictionary 与acsii类似,只是不区分大小写
-integer 转化为整数再比较
-real 转化为浮点数再比较
-command command 执行command来做比较
open fileName
open fileName access
|
打开文件,返回一个文件描述符。
定义与C中相同。如文件名的第一个字符为|表示一管道的形式来打开。
set f [open |more w]
set f [open /etc/pass r]
proc name args body
|
创建一个新的过程,可以替代任何存在的过程或命令。
proc wf {file str} {
puts -nonewline $file str
flush $file
}
set f [open /tmp/a w]
wf $f "first line "
wf $f "second line "
|
在函数末尾可用 return 来返回值。
puts -nonewline fileId string
|
向fileId中写入string,如果不加上 -nonewline 则自动产生一个换行符。
返回当前目录。
read fileId
read fileId numBytes
|
从fileId中读取numBytes个字节。
regexp ?switches? exp string ?matchVar? ?subMatchVar
subMatchVar ...?
|
执行正则表达式的匹配。
?switches? -nocase 不区分大小写
-indices 返回匹配区间
|
如:
regexp ^abc abcjsdfh
//return 1
regexp ^abc abcjsdfh a
//return 1
puts $a
//return abc
regexp -indices ^abc abcsdfjkhsdf a
//return 1
puts $a
//return "0 2"
|
regsub ?switchs? exp string subSpec varName
|
执行正则表达式的替换,用subSpec的内容替换string中匹配exp的部分。
?switchs? -all 将所有匹配的部分替换,缺省子替换第一个,返回值为替换的个数。
-nocase 不区分大小写。
如:
regsub abc abcabcbac eee b
//return 1
puts $b
//return "eeeabcabc"
regsub -all abc abcabcabc eee b
//return 3
puts $b
//return "eeeeeeeee"
return
立即从当前命令中返回。
proc ff {} {
return friday
}
set a [ff]
//a = "friday"
|
scan string `format" varname ...
|
从string中安format来读取值到varname。
seek fileId offset ?origin?
|
移动文件指针。
origin: start current end
|
offset从哪里开始算起。
设置varname用value,或返回varname的值。如果不是在一个proc命令中则生成一个全局变量。
从filename中读出内容传给Tcl解释起来执行。
split string ?splitChars?
|
将string分裂成列表。缺省以空白为分隔符,也可通过splitChars来设定分隔符