TCL之基本語法1

2022-09-02 19:18:09 字數 1622 閱讀 5835

set就是變數宣告,這個宣告在需要使用的指令下會自動執行,不會出現沒有宣告的錯誤。但是對於puts這類定向訪問的是不能沒有宣告的。這裡簡單理解tcl中的變數:以字串的形式存在,具體的值由$符號訪問。訪問之前必須已經有宣告。

set x 0

puts $x

puts x

兩個puts都是可以顯示結果的,掐前乙個是值,後乙個是字元。

tcl中的指令長度是確定的,由關鍵字決定。每個引數使用空格區分。如果需要將指令內的某個引數巢狀其他指令,則需要使用來確認巢狀指令的範圍。expr是取算數計算的結果的指令,引數就是算數表示式。

set x 0

set x [

expr $x+1

]puts $x

最後的結果是1,第二句語句就是將x加1.

前面介紹如何嵌入指令,同樣含有空格的字串也是需要嵌入的(某些引數需要帶有空格及特殊字元的字串作為引數)。使用{}可以將內部的內容轉化為特殊字串變數,在tcl中為list型變數。list作為引數時,內部的符號都是由對應指令控制的,而不是按照指令解釋。這裡有許多對list操作的指令,以後有時間詳細分析。

set x  2 }

puts $x

x的值就是後面的一串list型變數

tcl中的條件判斷語句。

if   elseif   elseif   elseif     elseif   elseif   elseif  

}for

while兩個引數,第乙個迴圈條件,第二個執行體。for有四個引數,第乙個初始執行體(開始前執行一次),第二個迴圈條件,第三個條件執行體,第四個迴圈執行體。每個引數按照c語言中的for可以完全對應。

list迴圈結構,這是比較特殊的迴圈。其判斷條件是list型變數的長度及讀取尺度,執行體和for是一樣的。第乙個引數是讀取長度及快取變數,第二個是待讀取的list型變數。第三個是執行體。

set b ""

set a }

foreach i $a

set x {}

foreach

第乙個foreach中,讀取長度是1(i只有乙個字元),快取變數是i,待讀取的list(可以直接寫,也可以是已經存在的,已存的需要加$讀取符),執行的就是最後的引數的內容。linsert是字元插入指令,這裡暫時不解釋。

第二個就是將長度換成2,快取變數變成i和j,其他的是一樣的。

eval是命令解讀指令。source是呼叫外部檔案的指令。

#!/bin/sh

# eval_source.tcl \

exec tclsh "$0

" $eval set b

2 ;set b 4

puts $b

set cmd

"puts \"i love you \"

"eval $cmd

source d:/library/tcl_design/t1_workspace/a3_string.tcl

這裡cmd宣告為字串(真正的和c語言中一樣的字串,注意轉義字元\的使用),可以將命令轉化為字串,由eval解釋執行。這裡可以使用其他系統命令。source就是直接呼叫外部可執行的檔案。

TCL基本語法

目錄 1.輸出 2.賦值 3.替換 tcl使用 puts 關鍵字來作為輸出語句 puts hello結果 hello puts nonewline hello hello 結果 hello hellotcl 使用 set 關鍵字來定義引數,不必指定變數值的型別,因為變數 值的型別僅一種 字串。為變數...

1 TCL指令碼基本語法(概要)

乙個tcl指令碼可以包含乙個或多個命令。命令之間必須用換行符或分號隔開。第乙個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或tab鍵隔開。變數置換 命令置換 反斜槓置換 例如set msg multiple space 如果沒有 則有報警。雙引號將各種分隔符將不作處理,對換行符及 和兩種置換...

1 TCL指令碼基本語法(概要)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!乙個tcl指令碼可以包含乙個或多個命令。命令之間必須用換行符或分號隔開。第乙個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或tab鍵隔開。變數置換 命令置換 反斜槓置換 例如set msg multiple space 如果沒有 則有報警。...