分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!
乙個tcl指令碼可以包含乙個或多個命令。命令之間必須用換行符或分號隔開。
第乙個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或tab鍵隔開。
變數置換$。
命令置換
反斜槓置換\ ,例如set msg multiple\ space ,如果沒有\則有報警。
雙引號將各種分隔符將不作處理,對換行符及$和兩種置換符會照常處理。
花括號中所有特殊字元成為普通字元,失去其意義。
注釋符 『#』
$符號往後直到第乙個不是字母、數字或下劃線的字元之間的單詞符號作為要被置換的變數的名字。
(bin) 28 % set a.1 2
(bin) 29 % set b $a.1
1.1(bin) 30 % set b $
陣列如下:
(bin) 31 % set day(1) 1
(bin) 32 % set day(2) 2
tcl不能支援複雜的資料型別,不過擴充套件itcl填補了這個缺憾。
unset命令可以刪除變數。
6/58
incr命令把變數值加上乙個整數。
tcl表示式運算元是整數或實數。0開頭表示八進位制,0x開頭表示十六進製制
支援加減乘除,移位等操作。
此外expr是tcp的乙個命令,
list在tcl中表示集合,可以巢狀定義。
concat命令,把多個list合成乙個list.
lindex返回list的第index個0-based元素
llength返回list的元素個數。
linsert返回乙個新串,把所有的value引數值插入list的第index個元素之前
lreplace替換第first到第last個元素所有的value引數。
lrange返回list的第first到第last元素組成的串。如果last為end表示到串的最後。
lsearch返回list中第乙個匹配模式pattern的元素的索引,找不到匹配就返回-1.-exact,-glob,-regexp是三種匹配。-exact表示精確匹配,-glob和string match命令匹配方式相同。-regexp表示正規表示式匹配。
lsort這個命令返回把list排序後的串。
split把string按分隔符splitchars分成乙個個單詞。例如split 「how.are.you」 .
join是命令的逆。把所有元素合併到乙個字串中,中間以joinstring分開。
format格式化類似sprintf函式
set msg [format "%s is %d yearsold" $name $age];
scan命令式format命令的逆,類似於sscanf函式。
regexp用於判斷正規表示式exp是否全部或部分匹配字串string,匹配返回1,否則0.
resub命令第乙個引數是乙個整個表示式,第二個引數是乙個輸入字串,這一點和regexp命令完全一樣。匹配返回1,否則返回0,不過regsub用第三個引數來替換字串string中和正規表示式匹配的部分,第四個引數被認為是乙個變數,替換後的字串存入這個變數中。
string命令具有強大的操作字串的功能,其中option選項多達20個。
if後面的
定義過程時,可以使用return命令在任何地方返回想要的值。
tcl提供三種特殊的引數形式:
upvar命令使得使用者可以在過程中對全域性變數或其他過程中的區域性變數進行訪問。
可以理解成繫結變數。
異常是導致指令碼被終止的事件。
很多情況下,錯誤資訊提供了足夠的資訊指出**以及為什麼發生了錯誤。如果錯誤發生在一組深層套嵌的過程呼叫中,僅僅給出錯誤資訊還不能為指出**發生了錯誤提供足夠資訊。為了幫助指出錯誤的位置,當tcl撤銷程式中執行的命令時,建立了乙個跟蹤棧,並且把這些跟蹤棧儲存到全域性變數errorinfo中。
catch命令可以俘獲所有的異常,不僅是錯誤。catch命令的返回值表示是那種情況的異常。
利用array命令可以查詢乙個陣列變數中已經定義了的元素的資訊。
info命令提供了檢視tcl直譯器資訊的手段,有超過一打的選項。
例如info exist a
info global
tcl命令提供了trace命令來跟蹤乙個或多個變數。
給我老師的人工智慧教程打call!
1 TCL指令碼基本語法(概要)
乙個tcl指令碼可以包含乙個或多個命令。命令之間必須用換行符或分號隔開。第乙個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或tab鍵隔開。變數置換 命令置換 反斜槓置換 例如set msg multiple space 如果沒有 則有報警。雙引號將各種分隔符將不作處理,對換行符及 和兩種置換...
TCL之基本語法1
set就是變數宣告,這個宣告在需要使用的指令下會自動執行,不會出現沒有宣告的錯誤。但是對於puts這類定向訪問的是不能沒有宣告的。這裡簡單理解tcl中的變數 以字串的形式存在,具體的值由 符號訪問。訪問之前必須已經有宣告。set x 0 puts x puts x 兩個puts都是可以顯示結果的,掐...
TCL基本語法
目錄 1.輸出 2.賦值 3.替換 tcl使用 puts 關鍵字來作為輸出語句 puts hello結果 hello puts nonewline hello hello 結果 hello hellotcl 使用 set 關鍵字來定義引數,不必指定變數值的型別,因為變數 值的型別僅一種 字串。為變數...