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"
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