1. 程式人生 > 其它 >自加一運算_tcl/tk學習筆記(一)· 基本介紹

自加一運算_tcl/tk學習筆記(一)· 基本介紹

技術標籤:自加一運算

a5e4f3b42cd326105c10e5f9ffa4ce65.png

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. 其他運算子還有很多,> < !等等

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

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