|
楼主 |
发表于 2020-4-14 16:30
|
显示全部楼层
2.list串行数据型态
. u3 |9 T7 g& b4 U& |4 }; H tlist这个概念在TCL中是用来表示集合的。TCL中list是由一堆元素组成的有序集合,list可以嵌套定义,list每个元素可以是任意字符串,也可以是list。TCL提供了很多基本命令对list进行操作:$ u3 @8 @9 W% t6 N$ p4 [2 L* z
(1)list指令
1 M8 n. D0 \6 I) ` p ~语法:list [ value value...]:这个命令生成一个list,list的元素就是所有的value。( ]3 t; [4 ]/ a8 o
(2)concat指令
: A1 g7 H. a' W: Q* X9 S6 k; f Z语法:concat list [list...]:这个命令把多个list合成一个list。: L8 o) Z1 G6 y& `; V4 N
(3)llength指令" T% ^( ?1 `+ W+ W& g/ G& @8 }
语法:llength list:返回list的元素个数。
4 ]' D% o; e. \) z(4)lindex指令
$ M1 _5 q, @( L" P语法:lindex list index:返回list的第index个(0-based)元素。7 B! {6 c" D6 |; m: m2 z
(5)lrange指令. p4 j1 C# U% t% n2 m
语法:lrange list first last:返回list的第first (0-based)到第last (0-based)元素组成的串,如果last的值是end,就是从第first个直到串的最后。
P) H- S% R! P, _(6)linsert指令
: X$ R( X5 }+ P: A/ R% m# \) P* u% h语法:linsert list index value [value...?]:返回一个新串,新串是把所有的value参数值插入list的第index个(0-based)元素之前得到。
* |( v# t) E/ f7 T/ n/ ?(7)lappend指令
4 f# d6 b, g4 _" G& r1 g. K7 B( ^5 z语法:lappend varname value [value...?]:把每个value的值作为一个元素附加到变量varname后面,并返回变量的新值,如果varname不存在,就生成这个变量。
! t1 X G+ C# F4 R& k2 k
! n% O% [6 U" r+ b& q; T. O9 F, c# r3 j9 R. c, m
(12)split指令
- i. k) l7 S4 I' U语法:split string [splitChars]:把字符串string按分隔符splitChars分成一个个单词,返回由这些单词组成的串。如果splitChars 是一个空字符{},string被按字符分开。如果splitChars没有给出,以空格为分隔符。! o H7 v6 G5 R; q& ^
3.Array 数组数据型态0 ^. X1 Z; I7 M6 V; s9 N
在TCL中的Array数组是以字符串作为索引数组,在 TCL 语言中举足轻重,许多数据结构都是以数组为基础设计而成。其基本指令如下:. D/ j2 q4 ~6 h- j& n/ \; X
array exists arr:判断 arr 是否为一个数组。传回 1 代表是数组。. g( X7 l' p/ x5 b! u
array get arr ?pattern?:将 arr 的索引及元素值交错建立成一个 list 后传回。$ r8 \ L1 d2 O2 K: h
array names arr ?mode? ?pattern?:传回 arr 的索引list。
7 ]' a8 U( U3 s' J: `1 c. Iarray set arr list:根据list的内容建构一个数组。) y9 O3 H" O$ A* T8 K6 e* z
array size arr:传回 arr 的大小。
+ |' p% y8 s) `- D! C8 u' `) O# @5 yarray unset arr ?pattern?:释放符合样式的数组元素。如果没有指定样式,则会释放整个数组。
" b* M" l3 A) N4 b1 @array startsearch arr:起始数组的搜寻功能,并传回一个标记(token id)。
3 h; Y% e3 O8 J* C3 F$ K8 m4 {. Aarray nextelement arr id:在数组token-id所标记的搜寻中,将下一个元素的索引传回,没有元素时传回空字符串。
, {3 r& @, p6 E p2 e/ Iarray anymore arr id:检查数组token-id所标记的搜寻中,是否还有元素可取用,还有元素传回1,否则传回0。
, p. {5 W8 d, d. f/ rarray donesearch arr id:结束 id 所识别的搜寻。, n% y7 \ C) W# L
array statistics arr:传回arr数组杂凑表(hash table)的统计表。) L2 }/ c; Z( P9 v. b% W: s
|
|