|
楼主 |
发表于 2020-4-14 16:30
|
显示全部楼层
2.list串行数据型态# `# i) ^ A. A! G5 a
list这个概念在TCL中是用来表示集合的。TCL中list是由一堆元素组成的有序集合,list可以嵌套定义,list每个元素可以是任意字符串,也可以是list。TCL提供了很多基本命令对list进行操作:- F; T: V. D8 X. m
(1)list指令* |4 Z; c$ U/ m! ]
语法:list [ value value...]:这个命令生成一个list,list的元素就是所有的value。
( c+ N6 p# ?. k& R9 j D(2)concat指令
0 w$ V a5 W. F- _7 d$ J2 j1 H! B$ a6 D语法:concat list [list...]:这个命令把多个list合成一个list。+ O) y$ t3 K4 W2 d# S+ X" f
(3)llength指令/ q+ g) h- Y) n1 m7 A
语法:llength list:返回list的元素个数。
, ?1 F2 R* D2 f(4)lindex指令8 |8 ]3 }) I( A" M. \: T. h
语法:lindex list index:返回list的第index个(0-based)元素。' g: F; y4 A. n7 ]
(5)lrange指令; Y* k2 k+ a8 E9 ?! A
语法:lrange list first last:返回list的第first (0-based)到第last (0-based)元素组成的串,如果last的值是end,就是从第first个直到串的最后。/ y6 S, ]; q; V( h" @% U( ?
(6)linsert指令% D8 Q: j# A. Y7 [+ }; R
语法:linsert list index value [value...?]:返回一个新串,新串是把所有的value参数值插入list的第index个(0-based)元素之前得到。
1 g2 S! E5 {* Z) F. c x! a(7)lappend指令, `2 X: Z5 g4 N2 D9 N
语法:lappend varname value [value...?]:把每个value的值作为一个元素附加到变量varname后面,并返回变量的新值,如果varname不存在,就生成这个变量。
6 a7 a7 {5 l1 t8 D$ T9 ~; w+ q& k3 c2 e) q+ `
D3 U' U \; [8 @(12)split指令
4 G( i. q0 X; [* Q* y s语法:split string [splitChars]:把字符串string按分隔符splitChars分成一个个单词,返回由这些单词组成的串。如果splitChars 是一个空字符{},string被按字符分开。如果splitChars没有给出,以空格为分隔符。
1 G6 ^ M! t3 Y3.Array 数组数据型态; ~: a/ L+ n `# }" o, V7 F Y
在TCL中的Array数组是以字符串作为索引数组,在 TCL 语言中举足轻重,许多数据结构都是以数组为基础设计而成。其基本指令如下:
, R( J; B u; D8 R0 a, A2 jarray exists arr:判断 arr 是否为一个数组。传回 1 代表是数组。
+ Q/ K, \4 m- Uarray get arr ?pattern?:将 arr 的索引及元素值交错建立成一个 list 后传回。0 d& D% Y% U1 X% U- }8 C
array names arr ?mode? ?pattern?:传回 arr 的索引list。
/ b) d! W. {5 U* t5 jarray set arr list:根据list的内容建构一个数组。
) q4 G( s0 w( H9 H! w( m! U- qarray size arr:传回 arr 的大小。
1 X3 A; a+ t4 N( warray unset arr ?pattern?:释放符合样式的数组元素。如果没有指定样式,则会释放整个数组。
- {, v( s( G5 B! u' C5 |array startsearch arr:起始数组的搜寻功能,并传回一个标记(token id)。/ {. N, |( X) F0 |" ^- G
array nextelement arr id:在数组token-id所标记的搜寻中,将下一个元素的索引传回,没有元素时传回空字符串。
; N- \0 O5 Z& B$ J( a. Y+ M$ Narray anymore arr id:检查数组token-id所标记的搜寻中,是否还有元素可取用,还有元素传回1,否则传回0。) P* Y( k0 e) G9 S7 f4 k; V
array donesearch arr id:结束 id 所识别的搜寻。
Q) `- E6 O" p8 V- H/ ?7 varray statistics arr:传回arr数组杂凑表(hash table)的统计表。. M" I" q3 ~9 J7 B0 L& K+ @- E+ \
|
|