- Tcl教程
- Tcl - 首页
- Tcl - 概述
- Tcl - 环境设置
- Tcl - 特殊变量
- Tcl - 基本语法
- Tcl - 命令
- Tcl - 数据类型
- Tcl - 变量
- Tcl - 运营商
- Tcl - 决策
- Tcl - 循环
- Tcl - 数组
- Tcl - 字符串
- Tcl - 列表
- Tcl - 字典
- Tcl - 程序
- Tcl - 套餐
- Tcl - 命名空间
- Tcl - 文件 I/O
- Tcl - 错误处理
- Tcl - 内置函数
- Tcl - 正则表达式
- TK 教程
- Tk - 概述
- Tk-环境
- Tk - 特殊变量
- Tk - 小部件概述
- Tk - 基本小部件
- Tk - 布局小部件
- Tk - 选择小部件
- Tk - 画布小部件
- Tk - 大型小部件
- Tk-字体
- Tk - 图像
- Tk - 活动
- Tk-Windows 管理器
- Tk - 几何管理器
- Tcl/Tk 有用资源
- Tcl/Tk - 快速指南
- Tcl/Tk - 有用的资源
- Tcl/Tk - 讨论
Tcl - 数组
数组是使用索引对一组元素进行系统排列。传统数组的语法如下所示。
set ArrayName(Index) value
下面显示了创建简单数组的示例。
#!/usr/bin/tclsh set languages(0) Tcl set languages(1) "C Language" puts $languages(0) puts $languages(1)
执行上述代码时,会产生以下结果 -
Tcl C Language
数组大小
计算数组大小的语法如下所示。
[array size variablename]
打印尺寸的示例如下所示。
#!/usr/bin/tclsh set languages(0) Tcl set languages(1) "C Language" puts [array size languages]
执行上述代码时,会产生以下结果 -
2
数组迭代
不过,数组索引可以是不连续的,例如为索引 1 指定的值,然后为索引 10 指定的值,依此类推。但是,如果它们是连续的,我们可以使用数组迭代来访问数组的元素。用于打印数组元素的简单数组迭代如下所示。
#!/usr/bin/tclsh set languages(0) Tcl set languages(1) "C Language" for { set index 0 } { $index < [array size languages] } { incr index } { puts "languages($index) : $languages($index)" }
执行上述代码时,会产生以下结果 -
languages(0) : Tcl languages(1) : C Language
关联数组
在 Tcl 中,所有数组本质上都是关联的。数组的存储和检索没有任何特定的顺序。关联数组的索引不一定是数字,并且可以稀疏填充。下面显示了具有非数字索引的关联数组的简单示例。
#!/usr/bin/tclsh set personA(Name) "Dave" set personA(Age) 14 puts $personA(Name) puts $personA(Age)
执行上述代码时,会产生以下结果 -
Dave 14
数组索引
检索数组索引的语法如下所示。
[array names variablename]
打印尺寸的示例如下所示。
#!/usr/bin/tclsh set personA(Name) "Dave" set personA(Age) 14 puts [array names personA]
执行上述代码时,会产生以下结果 -
Age Name
关联数组的迭代
您可以使用数组的索引来迭代关联数组。一个例子如下所示。
#!/usr/bin/tclsh set personA(Name) "Dave" set personA(Age) 14 foreach index [array names personA] { puts "personA($index): $personA($index)" }
执行上述代码时,会产生以下结果 -
personA(Age): 14 personA(Name): Dave