详细内容

Tcl-数组

时间:2025-05-10     作者:邱新龙翻译【转载】   来自:vmd手册   阅读

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


上一篇Tcl-字符串下一篇Tcl-循环
最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo