Tcl数据结构之数组

数组是Tcl数据结构之一,Tcl数组的索引可以是任意字符串,数组不支持嵌套。数组的索引对空格敏感,使用时需要注意。

创建

set arrayName(index) value
array set arrayName {?index1 value1 index2 value2 ... indexN valueN?}

第一种方式是set命令,直接向想要创建的数组赋值。index如果包含空格,只是将其用双引号包围是不行的,需要对空格进行反斜杠转义。由于数组支持变量替换,所以还可以通过变量来将带空格的字符串作为索引。

第二种方式是array set命令,与第一种不同的是,可以通过接受一个列表来同时传入多个元素对。

set idx "a b"
set arr($idx) 1
set arr(0) 2
set arr(c\ d) 3

输出

通过parray命令可以输出数据元素。

parray arr

多维数组

Tcl本身是不支持多维数组的,但是可以利用Tcl数组索引可以是多值的特性来达到相同的效果。

set arr(0,1) a
set arr(0,2) b
set arr(1,3) c
puts arr(0,1)

arr实际上仍是一维数组,只是通过逗号分隔的多值索引来达到逻辑上的多维数组的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值