列表操作在脚本中使用的频率非常高,基本上每个脚本都会涉及到其中的一些操作,在这里对列表的命令进行实例解析,以加深对列表命令的理解,本文涉及的命令为lappend、lreplace、lset、linsert、lsort和lreverse。
lappend
varName ?
value value value ...?
在列表后面添加元素,常用的命令,lappend命令接收一个变量名(这里需要注意,必须是变量名而不是变量),将元素添加到变量后面,变量会被修改:
% set myList {This is a}
This is a
% lappend myList tcltk example
This is a tcltk example
% puts $myList
This is a tcltk example
由以上可以看出,变量myList已经被修改了,在tcl中如果命令中传入的是变量名一般结果都修改变量,传入的是变量值都不会修改变量本身。
在列表后面添加元素,常用的命令,lappend命令接收一个变量名(这里需要注意,必须是变量名而不是变量),将元素添加到变量后面,变量会被修改:
% set myList {This is a}
This is a
% lappend myList tcltk example
This is a tcltk example
% puts $myList
This is a tcltk example
由以上可以看出,变量myList已经被修改了,在tcl中如果命令中传入的是变量名一般结果都修改变量,传入的是变量值都不会修改变量本身。
lreplace
list first last ?
element element ...?
将索引为first到last的元素替换为后面的元素:
% lreplace {This is a tcltk example} 2 2 another
This is
将索引为first到last的元素替换为后面的元素:
% lreplace {This is a tcltk example} 2 2 another
This is