Tcl命令操做實驗-----(10)---數組

Tcl中數組能夠是下標不連續的:數組

set arr(1) 10
10
set arr(5) 50
50
set arr(10) 100
100
puts [array size arr]
3
puts [expr [array size arr]]
3

那麼有一個問題:不連續的下標數組是如何索引呢?這須要用到」array name 數組變量名「命令:ide

puts [array name arr]
10 5 1

最終如何分別將每個元素索引出來呢?spa

首先要用array命令的子命令startsearch返回一個搜索標識符,再經過以下命令形式來循環遍歷數組:code

array option 數組變量名 搜索標識符索引

代碼以下:element

set id [array startsearch arr]
s-1-arr
array nextelement arr id
illegal search identifier "id"
array nextelement arr $id
10
array nextelement arr $id
5

array nextelement arr $id
1
array nextelement arr $id

array anymore arr $id;#查看還有沒有元素
0

array donesearch arr $id;#結束這個標識符的索引。結束以後再索引的話就會報錯了。
array anymore arr $id
couldn't find search "s-1-arr"

注意:以上命令中全部的arr都沒有使用$arr的形式。

set id [array startsearch arr]
s-1-arr

puts $arr(1)
10
puts $arr([array nextelement arr $id])
100
puts $arr([array nextelement arr $id])
50
puts $arr([array nextelement arr $id])
10

puts [array size arr]
3
相關文章
相關標籤/搜索