TCL列表
列表是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 ]
当执行上面的代码,产生以下结果:
blue
插入索引项目
在列表特定索引插入项目的语法如下。
linsert listname index value1 value2..valuen
例如,在列表特定的索引插入项目如下。
#!/usr/bin/tclsh set var {orange blue red green}
# 表示在列表中的位置...
set var [linsert $var 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 black white]
puts $var
当执行上面的代码,产生以下结果:
orange blue black white
设置指数项目
用于设置列表项在特定索引下面的语法给出。
lset listname index value
例如设置列表项的索引具体如下。
#!/usr/bin/tclsh set var {orange blue red green}
lset var 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
TCL列表的更多相关文章
- TCL语言笔记:TCL中的列表操作
一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...
- sqlite3使用(一)
最近工作接触到sqlite3了,于是用博客记录下,当然只是浅用哈! 参考资料:http://www.runoob.com/sqlite/sqlite-tutorial.html 概念: SQLite ...
- Android菜鸟成长记5-ADB和sqllite
Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...
- Android-adb 常用命令 和 sqlite
Android开发环境中,ADB是我们进行Android开发经常要用的调试工具,它的使用当然是我们Android开发者必须要掌握的. ADB概述 Android Debug Bridge,Androi ...
- Android SQLite (三 ) 全面详解(一)
官网 SQLite是一款轻型的数据库,是关系型数据库(RDBMS)管理系统,它包含在一个相对小的C库中.目前在很多嵌入式产品中使用了它,它占用资源非常 的低,在嵌入式设备中,可能只需要几百K的内存就够 ...
- sqlite3使用教程1 SQLite 命令
http://www.runoob.com/sqlite/sqlite-commands.html 本章将向您讲解 SQLite 编程人员所使用的简单却有用的命令.这些命令被称为 SQLite 的点命 ...
- 关于SQLite3笔记
sq .help .quit .exit 创建和连接数据库:在linux中 sqlite3 数据库名 没有就创建 有就连接 .show 显示各种设置的当前值. .echo ON|OFF echo命令 ...
- SQLite3命令操作大全
SQLite3命令操作大全 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令.本文档提供一个样使用sqlite3的简要说明. 一.ql ...
- SQLite 学习笔记
SQLite 学习笔记. 一.SQLite 安装 访问http://www.sqlite.org/download.html下载对应的文件. 1.在 Windows 上安装 SQLite. ...
随机推荐
- 嵌入式Linux应用程序开发环境搭建记录
2016年2月 参考资料: OK210软件手册(Linux版).pdf Ubuntu下Qt4.7.1编译环境配置说明.pdf 我阅读了以下内容: OK210软件手册(Linux版).pdf 第七章 O ...
- POJ 2240 Arbitrage(判正环)
http://poj.org/problem?id=2240 题意:货币兑换,判断最否是否能获利. 思路:又是货币兑换题,Belloman-ford和floyd算法都可以的. #include< ...
- Ubuntu server 禁止显示器休眠
Linux不让显示器休眠的方法 # setterm -blank # setterm -blank n (n为等待时间)
- Qt532_WebKit_SSL问题
1.打开网页"http://www.baidu.com",它会跳转至"https://www.baidu.com/",使用 SSL了,于是 WebView 出现 ...
- eclipse下maven springMVC 整合 mybatis
参考文档:http://blog.csdn.net/zhshulin/article/details/37956105 1.搭建maven工程,具体参见我另一篇博客:http://www.cnbl ...
- javascript中back(-1)和go(-1)的区别
javascript中back(-1)和go(-1)的区别 一.总结 一句话总结: 数据 history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1 ...
- 资源管理器总是生成 avi,mpeg的预览图
感觉非常讨厌. 图片可以直接显示,但是视频的预览图感觉很不舒服. 查了一下 , 用ShellExView 禁用一下 MF XXXX Property Handler 就可以了. 官网最下面可以下载: ...
- 雷林鹏分享:Ruby 面向对象
Ruby 面向对象 Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现.Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串.数字,甚至连 true 和 false 都是对象 ...
- baseCss/resetCss(转)
原文链接:https://github.com/hangyangws/baseCss#basecss baseCss 意义 统一各个浏览器差异.统一团队开发起始标准.弥补浏览器的“缺点”.提供频繁使用 ...
- 【css】 文本超出2行显示省略号
首先,要知道css的三条属性. overflow:hidden; //超出的文本隐藏 text-overflow:ellipsis; //溢出用省略号显示 white-space:nowrap; // ...