TCL数组
数组是一组使用索引对应元素的排列方式。常规数组的语法如下所示。
set ArrayName(Index) value
用于创建简单数组的例子,如下所示。
#!/usr/bin/tclsh set languages() Tcl
set languages() "C Language"
puts $languages()
puts $languages()
当上述代码被执行时,它会产生以下结果。
Tcl
C Language
数组大小
用于计算数组大小的语法,如下所示。
[array size variablename]
用于打印数组的大小的示例如下所示。
#!/usr/bin/tclsh set languages() Tcl
set languages() "C Language"
puts [array size languages]
当上述代码被执行时,它会产生以下结果。
2
数组迭代
虽然数组索引可以是非连续的,像索引1,然后索引10等指定的值。但是如果它们是连续的,我们可以用数组迭代访问数组的元素。一个简单的数组迭代的打印元素,如下所示。
#!/usr/bin/tclsh set languages() Tcl
set languages() "C Language"
for { set index } { $index < [array size languages] } { incr index } {
puts "languages($index) : $languages($index)"
}
当上述代码被执行时,它会产生以下结果。
languages() : Tcl
languages() : C Language
关联数组
在TCL,所有数组本质是相关联的。数组存储并没有任何具体的顺序进行检索。关联数组使用索引但不一定都是数字。一个简单的例子,关联数组与非数字索引如下所示。
#!/usr/bin/tclsh set personA(Name) "Dave"
set personA(Age)
puts $personA(Name)
puts $personA(Age)
当上述代码被执行时,它会产生以下结果。
Dave
数组的索引
用于检索数组索引的语法如下所示。
[array names variablename]
用于打印数组的大小的示例如下所示。
#!/usr/bin/tclsh set personA(Name) "Dave"
set personA(Age)
puts [array names personA]
当上述代码被执行时,它会产生以下结果。
Age Name
关联数组迭代
可以使用数组的索引来遍历数组。如下例子所示。
#!/usr/bin/tclsh set personA(Name) "Dave"
set personA(Age)
foreach index [array names personA] {
puts "personA($index): $personA($index)"
}
当上述代码被执行时,它会产生以下结果。
personA(Age):
personA(Name): Dave
TCL数组的更多相关文章
- TCL语言笔记:TCL中的数组
一.介绍 Tcl 中的数组和其他高级语言的数组有些不同:Tcl 数组元素的索引,或称键值,可以是任意的字符串,而且其本身没有所谓多维数组的概念.数组的存取速度要比列表有优势,数组在内部使用散列表来存储 ...
- tcl之变量-unset 简单变量和数组
- tcl之变量-数组array
- Tcl internal variables
Tcl internal variables eryar@163.com 在Tcl中内置了一些变量,并赋予了一定的功能.内置变量列表如下: 变量名称 功能描述 argc 指命令行参数的个数. argv ...
- TCL校园招聘——软件开发工程师(java) 只招5个。。。
简介 TCL集团股份有限公司创立于1981年,是全球性规模经营的消费类电子企业集团之一,广州2010年亚运会合作伙伴,总部位于广东省惠州市仲恺高新区TCL科技大厦.旗下拥有TCL集团.TCL多媒体科技 ...
- TCL/Expect交互式自动化测试概要 - - ITeye技术网站
TCL/Expect交互式自动化测试概要 - - ITeye技术网站 expect是一种基于TCL,能与交互式程序进行"可程序化"会话的脚本语言,是一种可以提供"分支和嵌 ...
- php文件格式数组
一个文件格式对应的数组$mime_types = array('gif' => 'image/gif','jpg' => 'image/jpeg','jpeg' => 'image/ ...
- Tcl学习之--语法|变量
[语法|变量] l 脚本.命令和单词 Tcl提供了大约100条命令.Tk提供了另外几十条,脚本包括一条或多条,通过换行符或分号分隔开. set a 12 set b 23 也能够写成一行: set a ...
- Tcl语言笔记之一
1,一个TCL脚本可以包含一个或多个命令.命令之间必须用换行符或分号隔开 2,置换 substitution %set y x+100 // ...
随机推荐
- 关于JS和JSON
讲得不准确! 看网课,JS也算是面向对象的一门语言,不过其是解释性的脚本语言. JSON是把用JS的表示法将数据包装起来进行传递用的. JS语法是松散型的,没有int String这些像JAVA里的类 ...
- 二进制文件和ASCII文件有何区别
二进制文件和ASCII文件(即文本文件)的区别,对于和计算机亲近时间尚短的同学是个难题. 1.一个例子:两种100000 有程序: #include<iostream> using nam ...
- ubuntu 10.04 安装arm交叉编译器
家里有一台cotext-A9(armv7-a) 的盒子,现在不用了, 一直想着废物利用.于是想怎么为这盒子编译程序. 目标机器: root@routon-h1:/# uname -a Linux ro ...
- OKR 说明
转载来源: http://www.jianshu.com/p/ce1141084427 一.什么是OKR? OKR的全称是“Objectives and Key Results”,翻译过来就是“目标和 ...
- 雷林鹏分享:Ruby Dir 类和方法
Ruby Dir 类和方法 Dir 是一个表示用于给出操作系统中目录中的文件名的目录流.Dir 类也拥有与目录相关的操作,比如通配符文件名匹配.改变工作目录等. 类方法 序号方法 & 描述 1 ...
- 雷林鹏分享:Ruby XML, XSLT 和 XPath 教程
Ruby XML, XSLT 和 XPath 教程 什么是 XML ? XML 指可扩展标记语言(eXtensible Markup Language). 可扩展标记语言,标准通用标记语言的子集,一种 ...
- VS2019/VS2017安装源离线下载,更新,清理,企业版与论坛版重复下载
VS2019 安装器下载 https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel ...
- CF86D
题解: 莫队分块 分块大小为sqrt(n) 代码: #include<bits/stdc++.h> using namespace std; ; typedef long long ll; ...
- Nginx笔记02-nginx常用参数配置说明
nginx的主配置文件是nginx.conf,这里主要针对这个文件进行说明 1.主配置文件nginx.conf 2.nginx配置文件的结构 从上面的配置文件中我们可以总结出nginx配置文件的基 ...
- 流程设计器jQuery + svg/vml(Demo4 - 画连线)
流程结点可以添加了之后,接下来到画结点与结点之间的连线,效果图如下 很眼馋visio的连线可以折来折去,这里实现的连线比较简单. 首先是把连线的类型分为Z(折线).N(折线)及I(直线)3种类型,然后 ...