Tcl命令操做实验-----(9)---列表

Tcl中列表定义的方法有以下三种:app

set colorlist1 {red green blue}
red green blue
set colorlist2 [red1 green1 blue1]
invalid command name "red1"
set colorlist2 [list red1 green1 blue1]
red1 green1 blue1
set colorlist3 [split "red2_gree2_blue2" _]
red2 gree2 blue2
set colorlist4 [split red3_green3_blue3 _]
red3 green3 blue3
set colorlist5 [split "red4_gree4_blue4" "_"]
red4 gree4 blue4

Tcl中列表的命令通常都是对列表的内容取出来再处理,不会对原列表有什么影响,以下面代码:spa

lreplace colorlist5 1 1 g4
list doesn't contain element 1
lreplace $colorlist5 1 1 g4
red4 g4 blue4
$colorlist5
invalid command name "red4 gree4 blue4"
puts $colorlist5
red4 gree4 blue4

可是有一个lappend命令倒是直接处理列表自己:code

lappend colorlist5 black
red4 gree4 blue4 black
puts $colorlist5
red4 gree4 blue4 black

固然lappend命令中不象其它命令那样用“ $colorlist5",而是要用"colorlist5"这样的形式。索引

对于一个列表,循环索引以下操做:element

Vivado% set lt {a b c}
a b c
Vivado% for {set i 0} { $i<[llength $lt]} {incr i} {
puts [lindex $lt $i]
}
a
b
c

更简单的列表循环索引操做以下:it

Vivado% foreach c $lt {
puts $c
}
a
b
c
相关文章
相关标签/搜索