|
楼主 |
发表于 2020-4-14 16:30
|
显示全部楼层
2.list串行数据型态: S6 }4 |1 X" T6 ]9 Q3 \8 }
list这个概念在TCL中是用来表示集合的。TCL中list是由一堆元素组成的有序集合,list可以嵌套定义,list每个元素可以是任意字符串,也可以是list。TCL提供了很多基本命令对list进行操作:. F# y8 j) N6 I" l, _
(1)list指令
s% I s6 P/ U7 H& J2 q语法:list [ value value...]:这个命令生成一个list,list的元素就是所有的value。8 a7 p2 P, F8 m$ K; P) G
(2)concat指令
1 y" t) a. O( N' q4 A语法:concat list [list...]:这个命令把多个list合成一个list。# r2 |% ^; X! x/ x/ t
(3)llength指令
$ g# |( s z7 i$ y/ q s& ~语法:llength list:返回list的元素个数。9 e6 u" N/ ~2 Y7 i) g
(4)lindex指令
. p3 g, z& S: N6 V语法:lindex list index:返回list的第index个(0-based)元素。
; M1 h9 {9 M6 g(5)lrange指令* x2 V2 X6 U3 @0 f
语法:lrange list first last:返回list的第first (0-based)到第last (0-based)元素组成的串,如果last的值是end,就是从第first个直到串的最后。5 X( x0 I9 V9 w4 d8 ?
(6)linsert指令6 N( {4 t$ v% }" x3 D# @
语法:linsert list index value [value...?]:返回一个新串,新串是把所有的value参数值插入list的第index个(0-based)元素之前得到。
: C* E2 C" g& h1 l4 `0 J(7)lappend指令. t" T+ a9 L$ R/ k. r; ~
语法:lappend varname value [value...?]:把每个value的值作为一个元素附加到变量varname后面,并返回变量的新值,如果varname不存在,就生成这个变量。5 H, x. p0 w; e+ Y H8 B/ v
/ u5 q# A; g. F1 ]9 i' m& R, L v
9 ?( \8 a5 ?" i" H. n. ?9 w5 R(12)split指令
+ b/ l3 t: e8 S/ _: Y语法:split string [splitChars]:把字符串string按分隔符splitChars分成一个个单词,返回由这些单词组成的串。如果splitChars 是一个空字符{},string被按字符分开。如果splitChars没有给出,以空格为分隔符。
7 k" x1 p" F+ R* M. d, N5 t+ p! |3.Array 数组数据型态
1 Q1 d+ z0 A/ i在TCL中的Array数组是以字符串作为索引数组,在 TCL 语言中举足轻重,许多数据结构都是以数组为基础设计而成。其基本指令如下:0 ^! h, E) c% p0 [& i8 P
array exists arr:判断 arr 是否为一个数组。传回 1 代表是数组。
) E2 S$ |6 \1 O' Z) I Garray get arr ?pattern?:将 arr 的索引及元素值交错建立成一个 list 后传回。
1 e4 \4 \0 I5 u5 j0 v5 yarray names arr ?mode? ?pattern?:传回 arr 的索引list。8 O8 n* p- `% J9 ^
array set arr list:根据list的内容建构一个数组。
! J n9 o' V( Y, U* \+ f6 l; u/ harray size arr:传回 arr 的大小。
. d% t0 c& O4 c' s- C+ Tarray unset arr ?pattern?:释放符合样式的数组元素。如果没有指定样式,则会释放整个数组。% [7 `. j; }6 W( E
array startsearch arr:起始数组的搜寻功能,并传回一个标记(token id)。
! R- w% R3 _1 }' s3 karray nextelement arr id:在数组token-id所标记的搜寻中,将下一个元素的索引传回,没有元素时传回空字符串。
' T$ O1 g0 u# \0 J8 Jarray anymore arr id:检查数组token-id所标记的搜寻中,是否还有元素可取用,还有元素传回1,否则传回0。2 S8 M" e1 i9 ^. {) C1 C4 k# i
array donesearch arr id:结束 id 所识别的搜寻。
5 h8 Q3 O# m6 m8 w# ^; Barray statistics arr:传回arr数组杂凑表(hash table)的统计表。
. W+ |# s( j5 v. f7 D |
|