求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 
 

Tcl 教程
Tcl环境设置
Tcl特殊变量
Tcl基本语法
Tcl命令
Tcl数据类型
Tcl变量
Tcl运算符
Tcl决策
Tcl循环
Tcl数组
Tcl字符串
Tcl列表
Tcl字典
Tcl过程
Tcl包
Tcl命名空间
Tcl文件I/O
Tcl错误处理
Tcl内置函数
Tcl正则表达式
 
 

TCL列表
821 次浏览
31次  

列表是Tcl的基本可用数据类型之一。它是用于表示项目的有序集合。它可以包括不同类型的在同一列表的项目。此外,一个列表可以包含另一个列表。

需要注意的一个重要的事情是,列表表示为完全串并处理在需要时,形成的各个项目。所以要避免大的列表,在这种情况下,可使用数组代替。

创建一个列表

列表的一般语法如下。

set listName { item1 item2 item3 .. itemn }
# or
set listName [list item1 item2 item3]
# or
set listName [split "items separated by a character" split_character]

一些例子如下面给出。

#!/usr/bin/tclsh
set colorList1 {red green blue}
set colorList2 [list red green blue]
set colorList3 [split "red_green_blue" _]
puts $colorList1
puts $colorList2
puts $colorList3

当上述代码被执行时,它会产生以下结果。

red green blue
red green blue
red green blue

追加项目到列表

追加项目到列表的语法如下。

append listName split_character value
# or
lappend listName value

一些例子如下面给出。

#!/usr/bin/tclsh
set var orange
append var " " "blue"
lappend var "red"
lappend var "green"
puts $var

当上述代码被执行时,它会产生以下结果。

orange blue red green

列表长度

列表长度的语法如下。

llength listName

例如,列表长度如下例所示。

#!/usr/bin/tclsh
set var {orange blue red green}
puts [llength $var]

当执行上面的代码,产生以下结果:

4

列表索引项

用于选择在指定索引的列表项如下。

lindex listname index

例如,列表索引项目如下所示。

#!/usr/bin/tclsh
set var {orange blue red green}
puts [lindex $var 1]

当执行上面的代码,产生以下结果:

blue

插入索引项目

在列表特定索引插入项目的语法如下。

linsert listname index value1 value2..valuen

例如,在列表特定的索引插入项目如下。

#!/usr/bin/tclsh
set var {orange blue red green}
set var [linsert $var 3 black white]
puts $var

当执行上面的代码,产生以下结果:

orange blue red black white green

更换项目索引

用于替换列表项以特定索引的语法如下。

lreplace listname firstindex lastindex value1 value2..valuen

例如用于替换列表项以特定的索引如下。

#!/usr/bin/tclsh
set var {orange blue red green}
set var [lreplace $var 2 3 black white]
puts $var

当执行上面的代码,产生以下结果:

orange blue black white

设置指数项目

用于设置列表项在特定索引下面的语法给出。

lset listname index value 

例如设置列表项的索引具体如下。

#!/usr/bin/tclsh
set var {orange blue red green}
lset var 0 black
puts $var

当执行上面的代码,产生以下结果:

black blue red green

转换列表变量

复制值到变量的语法如下。

lassign listname variable1 variable2.. variablen

例如,用于将列表到变量如下。

#!/usr/bin/tclsh
set var {orange blue red green}
lassign $var colour1 colour2
puts $colour1
puts $colour2

当执行上面的代码,产生以下结果:

orange
blue

排序列表

排序列表的语法如下。

lsort listname

进行列表的排序如下例子。

#!/usr/bin/tclsh
set var {orange blue red green}
set var [lsort $var]
puts $var

当执行上面的代码,产生以下结果:

blue green orange red

您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



821 次浏览
31次
 捐助