1.数组格式
Tcl数组和普通计算机语言的数组有很大区别,数组包含数组名和数组元素,所以Tcl数组也称为关联数组。
语法一:
set arrName(index) value
set day(monday) 1 定义一个数组day,生成一个名为monday的数组元素,并把值置为1
set day(tuesday) 2
语法二:
采用array命令定义一个数组,可以同时定义元素索引和元素值:
array set arrName {index1 value1 index2 vaule2}
2.多维数组
set matrix(1,1) 140
set matrix(1,2) 218
set i 1
set j 2
set cell $matrix($i,$j)
>218
3.查询数组中的元素
array 命令可以对整个数组进行操作
1.返回一个数组的所有元素索引
array names arrayName
2.交替获取数组的元素索引和元素值
array get arrayName
3.获取数组元素值:
puts "$arrayName(index)"
4.设置数组元素值由偶数个元素组成 奇数个元素被视为数组的索引,其后跟着的元素为索引对应的值,
如果list为空,则创建一个空数组
array set list
array match 返回指定形式的值
array exists 返回是否存在数组
set a(head) hat
set a(hand) glove
set a(foot) shoe
array names a
array get a
array set a {leg pant}
与foreach联合使用,遍历数组中的各个元素
foreach i [array names a] {
if {($a($i) == "") || ($a($i) == 0)} {
unset a($i)
}
}
4.append 和incr
append 命令把文本加到一个变量的后面
set txt "hello"
append txt ",world"
incr 命令把一个变量值加上一个整数
set b 2
incr b 3