Tcl (tool command language):簡單、開源、可用C語言實現新的命令

Tk (toolkit) 作為圖形使用者介面工具,用於建立和操作widgets(一個具有特殊外觀和行為的GUI視窗元件),它實際上就是一種圖形工具包,python裡的圖形工具包也是tk。

在檢索幫助時候,個人認為google更方便一些,尤其是關鍵字詞為英文的前提下。

https://www。

tcl。tk/

這個可以用來查詢很多命令。

基本語法:

Command args1 args2 …

1。 每條命令第一項為命令名,後面為相應引數,注意所有標點符號都必須使用

英文符號

2。 命令列的終止可以由回車新起一行或者末尾加分號(;)來判定。

當命令太長,一行寫不下的時候,可以在句末加反斜槓(\),則下一行的文字依然屬於本行命令。

例如:

set

list1

“ a b c \

d e f”

#

該列表內容為 a b c d e f

3。 註釋使用#開頭,#需要位於句首,或者在句末分號(;)之後。

4。 方括號([ ])用來巢狀執行其他命令列。

根據我的理解和常用情況,大概把tcl命令使用整理為幾個模組:

一、 文字輸出

二、 變數定義和呼叫

三、 字串

四、 表示式

五、 列表

六、 陣列

七、 條件結構和迴圈結構

八、 函式(程式)

九、 名稱空間

這一篇我先整理了前四個部分。

一、 文字輸出 puts

例如:

puts

Hello

puts

“Hello World!”

puts

{

Hello

World

};

單詞由

空格

分隔,如果字串內多於一個單詞就需要使用雙引號(” ”)或者大括號({ })包裹起來。

至於雙引號(” ”)和大括號({ })的區別,馬上在第二部分講到。

另外,由於文字格式差別,直接複製本文中的命令,有可能會因為符號格式報錯,請稍加註意。

二、 變數定義和呼叫 variable

Tcl的變數不需要在使用前宣告,用set命令可以直接建立,用unset可以直接刪除,用美元符號($)可以直接呼叫變數值。

unset平常用的不多,但是當記憶體較小,而變數數量巨大的時候,在執行過程中就需要經常使用這個命令來釋放記憶體。

舉幾個栗子:

set

a

“Good morning!”

puts

“When I met Daisy, I said \”$a\“ ”

puts

{

When

I met Daisy

I said

\

“$a\”};

輸出內容分別為

When I met Daisy, I said “Good morning!”

When I met Daisy, I said \”$a\”

!此處注意雙引號和大括號的區別:

雙引號——裡面可以引用變數,出現$,變數內容將被其值替換,當然,如果在$前使用跳脫字元,即反斜槓(\),就可以消去$呼叫變數值的功能;

大括號——百分百原汁原味輸出其中內容,有$也是輸出$,有反斜槓(\)就輸出反斜槓,有[ ]就輸出中括號。

三、 字串 string

tcl的奧義大概就是,一切皆可字串……

對我而言,我不常用相關命令,但是這個思想覺悟很重要:

不管是數字、字母、符號,甚至空格,所有的資料項都應看作字串。

例如(#後會解釋功能和其返回值):

set

str

Have a nice day

# Have a nice day!

string

length

$str

#字串的長度,包括了空格,共16

string

index

$str

8

# 返回索引號碼為8的字元,即 i

string

range

$str

3

end

#

返回從索引號為3開始到結尾的內容,為e a nice day!

四、 表示式

可使用數學表示式和邏輯表示式,基本上常見的運算子也都適用。

1. 自加自減 incr

incr

i

#後面什麼都沒有,表示i+1

incr

i

-

n

#

表示i-n

2. 命令 expr

可以對引數進行處理,也可以呼叫變數用於計算。

例如:

expr

4

+

2

set

a

2

expr

4

+

$a

set

b

[expr

4

+

$a

];

expr經常會出現在中括號([ ])裡面。

中括號作用是命令替換,其中的命令首先被執行,便於表示式的返回值直接呼叫。

需要注意的是,在計算中,如果兩個數全是整型資料,返回值就是整型,如果想要浮點型,就加小數點,或者*1。0。

例如 :

expr

4

/

3

#返回值為1

expr

4

/

3。0

#

返回值1。3333333333

3. 其他運算子還有很多,> < !等等

後續在迴圈和選擇語句中還會出現。

先整理一篇試水~好好學習,天天向上!