TCL資料型別


原始資料型別在Tcl中是字串,我們常常可以找到字串和參照在Tcl語言中。這些原始資料型別依次建立複合資料型別列表和關聯陣列。在Tcl中,資料型別可以表示不僅是簡單Tcl的物件,但也可以代表相同的控制代碼,圖形物件(主要是小部件)複雜的物件,和I/O通道。讓我們來看看詳細介紹每一個上面。

簡單的Tcl物件

在Tcl中,無論它是一個整數,布林,浮點數,或一個字串。當使用一個變數,可以直接賦值給它,Tcl沒有宣告一步。可以有內部表示為這些不同型別的物件。它可以將一個資料型別到其它需要時。分配值給變數的語法如下。

#!/usr/bin/tclsh

set myVariable 18
puts $myVariable

當上述程式碼被執行時,它會產生以下結果。

18

上述宣告將建立一個變數名myVariable,並將其儲存為一個字串,即使我們沒有使用雙引號。現在,如果試圖讓該變數的運算,它會自動變成一個整數。一個簡單的例子如下所示。

#!/usr/bin/tclsh

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

當上述程式碼被執行時,它會產生以下結果。

33

需要注意的一個重要的事情是,這些變數並沒有任何預設值,必須指定的值在使用之前。

如果我們嘗試使用puts來列印,這個數位被轉化為正確的字串。有兩種表示方法,內部和外部,幫助 Tcl 建立複雜的資料結構很容易相對於其他語言。另外,Tcl 更有效,因為它是動態物件的性質。

字串表示

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

#!/usr/bin/tclsh

set myVariable hello
puts $myVariable

當上述程式碼被執行時,它會產生以下結果。

hello

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

#!/usr/bin/tclsh

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

當上述程式碼被執行時,它會產生以下結果。

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]

當上述程式碼被執行時,它會產生以下結果。

blue
green

關聯陣列

關聯陣列有一個索引(key)但不一定是整數。人們普遍認為就像鍵值對是字串。一個簡單的例子如下所示。

#!/usr/bin/tclsh

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

當上述程式碼被執行時,它會產生以下結果。

80
90

控制代碼

TCL控制代碼通常用於表示檔案和圖形物件。這些可以包括控制代碼網路請求以及其它渠道,如串列埠通訊,通訊端或I/O裝置。下面是建立一個檔案控制代碼的例子。

set myfile [open "filename" r]

您會在Tcl檔案I/O一章看到更多內容細節。