鍍金池/ 教程/ 物聯(lián)網(wǎng)/ TCL數(shù)組
TCL內(nèi)置函數(shù)
TCL變量
TCL嵌套循環(huán)
TCL決策
TCL循環(huán)
Tcl if...else語句
Tcl教程
TCL字符串
TCL邏輯運(yùn)算符
TCL Switch語句
TCL列表
TCL運(yùn)算符優(yōu)先級
TCL數(shù)據(jù)類型
TCL環(huán)境設(shè)置
TCL正則表達(dá)式
TCL命名空間
TCL運(yùn)算符
TCL特殊變量
TCL數(shù)組
TCL算術(shù)運(yùn)算符
Tcl For循環(huán)
TCL文件I/O
TCL關(guān)系運(yùn)算符
TCL if語句
TCL命令
TCL基本語法
TCL三元運(yùn)算符
TCL continue語句
TCL嵌套if語句
TCL字典
TCL break語句
TCL包
TCL 嵌套switch語句
TCL while循環(huán)
TCL位運(yùn)算符
TCL過程
TCL錯(cuò)誤處理

TCL數(shù)組

數(shù)組是一組使用索引對應(yīng)元素的排列方式。常規(guī)數(shù)組的語法如下所示。

set ArrayName(Index) value

用于創(chuàng)建簡單數(shù)組的例子,如下所示。

#!/usr/bin/tclsh

set languages(0) Tcl
set languages(1) "C Language"
puts $languages(0)
puts $languages(1)

當(dāng)上述代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。

Tcl
C Language

數(shù)組大小

用于計(jì)算數(shù)組大小的語法,如下所示。

[array size variablename]

用于打印數(shù)組的大小的示例如下所示。

#!/usr/bin/tclsh

set languages(0) Tcl
set languages(1) "C Language"
puts  [array size languages]

當(dāng)上述代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。

2

數(shù)組迭代

雖然數(shù)組索引可以是非連續(xù)的,像索引1,然后索引10等指定的值。但是如果它們是連續(xù)的,我們可以用數(shù)組迭代訪問數(shù)組的元素。一個(gè)簡單的數(shù)組迭代的打印元素,如下所示。

#!/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)"
}

當(dāng)上述代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。

languages(0) : Tcl
languages(1) : C Language

關(guān)聯(lián)數(shù)組

在TCL,所有數(shù)組本質(zhì)是相關(guān)聯(lián)的。數(shù)組存儲并沒有任何具體的順序進(jìn)行檢索。關(guān)聯(lián)數(shù)組使用索引但不一定都是數(shù)字。一個(gè)簡單的例子,關(guān)聯(lián)數(shù)組與非數(shù)字索引如下所示。

#!/usr/bin/tclsh

set personA(Name) "Dave"
set personA(Age) 14
puts  $personA(Name)
puts  $personA(Age)

當(dāng)上述代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。

Dave
14

數(shù)組的索引

用于檢索數(shù)組索引的語法如下所示。

[array names variablename]

用于打印數(shù)組的大小的示例如下所示。

#!/usr/bin/tclsh

set personA(Name) "Dave"
set personA(Age) 14
puts [array names personA]

當(dāng)上述代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。

Age Name

關(guān)聯(lián)數(shù)組迭代

可以使用數(shù)組的索引來遍歷數(shù)組。如下例子所示。

#!/usr/bin/tclsh

set personA(Name) "Dave"
set personA(Age) 14
foreach index [array names personA] {
   puts "personA($index): $personA($index)"
}

當(dāng)上述代碼被執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。

personA(Age): 14
personA(Name): Dave