Tcl 数组

Tcl 数组

数组是使用索引对一组元素进行系统排列的一种数据结构。常规数组的语法如下所示。

set ArrayName(Index) value

以下是创建简单数组的示例。

#!/usr/bin/tclsh

set languages(0) Tcl
set languages(1) "C Language"
puts languages(0)
putslanguages(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)
putspersonA(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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程