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. ...
随机推荐
- npm 安装私有 git 包
npm 安装私有 git 包 npm 对于前端开发来说是一种必备的工具,对于开源项目来说,完全没有任何问题,安装包的依赖直接依赖于 Npm 即可. 对于公司内网的一些项目就不是太方便了,因为我们通常会 ...
- ✅javascript 语法:附加子节点
received: function(data) { $("#notifications").prepend(data.html); } 如何用原生js写出jquery的功能: 先 ...
- recv,recvfrom,send,sendto
一般情况下:send(),recv()用于TCP,sendto()及recvfrom()用于UDP 但是send(),recv()也可以用于UDP,sendto()及recvfrom()也可以用于TC ...
- 处理XML Publisher导出EXCEL值变为科学计数法的问题
<fo:bidi-override direction="ltr" unicode-bidi="bidi-override"><?PoOrde ...
- [转载]字符串匹配的Boyer-Moore算法
作者: 阮一峰 日期: 2013年5月 3日 上一篇文章,我介绍了KMP算法. 但是,它并不是效率最高的算法,实际采用并不多.各种文本编辑器的"查找"功能(Ctrl+F),大多采用 ...
- windows配置Scrapy爬虫框架
一.环境 Windows10 64位 Python2.7.13 64位 下面的安装步骤最好配置代理,可能会遇到被墙的情况. 二.Python的安装 可以去参考这篇文章:http://blog.csdn ...
- kubernetes1.7新特:kubectl支撑中文字符集
背景介绍 在Kubernetes架构图中可以看到,节点(Node)是一个由管理节点委托运行任务的worker. 它能运行一个或多个Pods,节点(Node)提供了运行容器环境所需要的所有必要条件,在K ...
- 微信应用js-sdk自定义分享图文
之前写过步骤 但是代码很少 这里奉献上我自己写的代码 我是用js做的 先奉上js部分的代码 <head> <meta charset="utf-8"> &l ...
- C语言--第四次作业
作业要求一 (70分) 实践最简答的项目wordcount,必须完成其中的基本功能,若可以完成其他功能给予加分.完成后请将你的设计思路.主要代码写在本次作业博客里. 真的迷茫<(_ _)> ...
- MacBook下配置android adb命令使用环境
想在Mac下使用android adb命令,常用的两种配置方式: 在MacBook下配置adb命令环境(方法一) 1.下载并安装IDE (android studio) 人性化的安装,直接点击下一步下 ...