鍍金池/ 教程/ 物聯(lián)網(wǎng)/ TCL數(shù)據(jù)類型
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錯誤處理

TCL數(shù)據(jù)類型

原始數(shù)據(jù)類型在Tcl中是字符串,我們常??梢哉业阶址鸵迷赥cl語言中。這些原始數(shù)據(jù)類型依次創(chuàng)建復(fù)合數(shù)據(jù)類型列表和關(guān)聯(lián)數(shù)組。在Tcl中,數(shù)據(jù)類型可以表示不僅是簡單Tcl的對象,但也可以代表相同的句柄,圖形對象(主要是小部件)復(fù)雜的對象,和I/O通道。讓我們來看看詳細(xì)介紹每一個上面。

簡單的Tcl對象

在Tcl中,無論它是一個整數(shù),布爾,浮點(diǎn)數(shù),或一個字符串。當(dāng)使用一個變量,可以直接賦值給它,Tcl沒有聲明一步??梢杂袃?nèi)部表示為這些不同類型的對象。它可以將一個數(shù)據(jù)類型到其它需要時。分配值給變量的語法如下。

#!/usr/bin/tclsh

set myVariable 18
puts $myVariable

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

18

上述聲明將創(chuàng)建一個變量名myVariable,并將其存儲為一個字符串,即使我們沒有使用雙引號。現(xiàn)在,如果試圖讓該變量的運(yùn)算,它會自動變成一個整數(shù)。一個簡單的例子如下所示。

#!/usr/bin/tclsh

set myVariable 18
puts [expr $myVariable + 6 + 9]

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

33

需要注意的一個重要的事情是,這些變量并沒有任何默認(rèn)值,必須指定的值在使用之前。

如果我們嘗試使用puts來打印,這個數(shù)字被轉(zhuǎn)化為正確的字符串。有兩種表示方法,內(nèi)部和外部,幫助 Tcl 創(chuàng)建復(fù)雜的數(shù)據(jù)結(jié)構(gòu)很容易相對于其他語言。另外,Tcl 更有效,因為它是動態(tài)對象的性質(zhì)。

字符串表示

不同于其他語言,在TCL,不需要包含雙引號,它只有一個字。一個例子如下,

#!/usr/bin/tclsh

set myVariable hello
puts $myVariable

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

hello

當(dāng)我們想表示多個字符串,可以使用雙引號或大括號。它如下所示。

#!/usr/bin/tclsh

set myVariable "hello world"
puts $myVariable
set myVariable {hello world}
puts $myVariable

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

hello world
hello world

列表 - List

列表不過是一組元素。一組單詞或者使用雙引號或大括號可以用來表示一個簡單的列表。一個簡單的列表如下所示。

#!/usr/bin/tclsh

set myVariable {red green blue}
puts [lindex $myVariable 2]
set myVariable "red green blue"
puts [lindex $myVariable 1]

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

blue
green

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

關(guān)聯(lián)數(shù)組有一個索引(key)但不一定是整數(shù)。人們普遍認(rèn)為就像鍵值對是字符串。一個簡單的例子如下所示。

#!/usr/bin/tclsh

set  marks(english) 80
puts $marks(english)
set  marks(mathematics) 90
puts $marks(mathematics)

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

80
90

句柄

TCL句柄通常用于表示文件和圖形對象。這些可以包括句柄網(wǎng)絡(luò)請求以及其它渠道,如串口通訊,套接字或I/O設(shè)備。下面是創(chuàng)建一個文件句柄的例子。

set myfile [open "filename" r]

您會在Tcl文件I/O一章看到更多內(nèi)容細(xì)節(jié)。


上一篇:TCL邏輯運(yùn)算符下一篇:TCL包