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实际上仍是一维数组,只是通过逗号分隔的多值索引来达到逻辑上的多维数组的效果。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)