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

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值