天天看点

TCL(Tool Command Language)学习笔记3-List

;#设定一个list
set x "Apple Banana Cat Dog"	;# List ,as like array
puts [lindex $x 1] ;#access list item with index

;#Traverse a list using foreach loop
;#用foreach遍历一个list 
set item_x_num 0
foreach item_x $x { 
	puts "$item_x is item number $item_x_num in list x"
	incr item_x_num
}
;# Create a list using function split
;#使用split设定一个list
set list_people [split "Liming/Laohuang/Daxia/Traveler" "/"] 
foreach item_people $list_people {
	puts $item_people
}
;# A new method to create a list
;#使用list设定一个list
set list_1 [list a b {c d e} {f {g h}}]
puts "Treated as a list:$list_1"

;#使用concat函数组合一个list的各项
puts "List after concated :[concat a b {c d e} {f {g h}}]"

;#使用linsert向一个list插入若干项
set list_1 [linsert $list_1 2 "item_inserted_1 item_inserted_2 item_inserted_3"]
puts "After insert 1 item ,\$list_1 is now:"
foreach item_list_1 $list_1 {
	puts $item_list_1
}
;#使用lappend向一个list追加新项
lappend list_1 {new_item_appended}
puts "After append a item ,\$list_1 is now:"
foreach item_list_1 $list_1 {
	puts $item_list_1
}

;#获取list包含的项数
set len_list_1 0
foreach item_list_1 $list_1 {
	incr len_list_1
}

;#使用lreplace更新list中某些项的内容
set list_1 [lreplace $list_1 0 $len_list_1-1 "New_item_0" "New_item_2" "New_item_1" "New_item_5" "New_item_4"]
puts "After replace 5 elements , \$list_1 is now :"
foreach item_list_1 $list_1 {
	puts $item_list_1
}

;#使用lsort对list进行排序
set list_1 [lsort $list_1]
puts "After sorting, \$list_1 is now :"
foreach item_list_1 $list_1 {
	puts $item_list_1
}

;#使用lsearch在一个list中查找满足指定条件的项
set list_1_with_1 [lindex $list_1 [lsearch $list_1 *1]]
puts "Search result:"
foreach item_list_1_with_1 $list_1_with_1 {
	puts $item_list_1_with_1
}