【正文】
就返回 1 命令格式: lsearch ?exact? ?glob? ?regexp? list pattern exact、 glob、 regexp是三種模式匹配的技術(shù)。 TCL中 list是由一堆元素組成的有序集合, list可以嵌套定義, list每個(gè)元素可以是任意字符串,也可以是 list。如果 first0,那么 first被看作 0,如果 last大于或等于字符串的長(zhǎng)度,那么 last被看作 end,如果 first比 last大,那么返回空。 string index abcd end1 返回字符 39。如果沒(méi)有找到,那么返回 1。 如果有 nocase參數(shù),那么比較時(shí)不區(qū)分大小寫(xiě)。 level參數(shù)表示:調(diào)用upvar命令的過(guò)程相對(duì)于我們希望引用的變量 myVar在調(diào)用棧中相對(duì)位置 Example: proc temp { arg } { upvar $arg b set b [expr $b+2] } upvar 2 other x 。我們可以在任何時(shí)候使用 proc命令定義自己的過(guò)程, TCL中的過(guò)程類(lèi)似于 C中的函數(shù)。 需要注意的一點(diǎn)是,數(shù)學(xué)函數(shù)并不是命令,只在表達(dá)式中出現(xiàn)才有意義。 TCL表達(dá)式的操作數(shù)通常是整數(shù)或?qū)崝?shù)。 TCL的數(shù)組和普通計(jì)算機(jī)語(yǔ)言中的數(shù)組有很大的區(qū)別。*: hdgg”的變量在 TCL中都是合法的。This is a ment TCL腳本語(yǔ)言培訓(xùn) 變量 TCL腳本語(yǔ)言培訓(xùn) TCL支持兩種類(lèi)型的變量:簡(jiǎn)單變量和數(shù)組。 Example: set a 1。 [ ] 中腳本的值為最后一個(gè)命令的返回值 Example: set b [expr 100*10] 反斜杠替換相當(dāng)于 C語(yǔ)言中反斜杠的作用 ,主要用于在單詞符號(hào)中插入諸如換行符、空格、 [、 $等被 TCL解釋器當(dāng)作特殊符號(hào)對(duì)待的字符 Example: set a \[a] set b \$100 TCL腳本語(yǔ)言培訓(xùn) 2雙引號(hào)和花括號(hào) TCL的語(yǔ)法 除了使用反斜杠外, TCL提供另外兩種方法來(lái)使得解釋器把分隔符和置換符等特殊字符當(dāng)作普通字符,而不作特殊處理,這就要使用雙引號(hào) (“”)和花括號(hào) ({})。set c “$a_1 world!”。 TCL腳本語(yǔ)言培訓(xùn) 2三種置換類(lèi)型 TCL的語(yǔ)法 變量置換由一個(gè) $ 符號(hào)標(biāo)識(shí),變量置換會(huì)導(dǎo)致變量的值插入一個(gè)單詞中。set d 103 TCL的每一個(gè)命令包含一個(gè)或幾個(gè)單詞,第一個(gè)單詞代表命令名,另外的單詞則是這個(gè)命令的參數(shù),單詞之間必須用空格或 TAB鍵隔開(kāi) 。 培訓(xùn)目的 培訓(xùn)對(duì)象 培訓(xùn)講師 學(xué)習(xí)重點(diǎn) 培訓(xùn)課時(shí) TCL腳本語(yǔ)言介紹 TCL腳本語(yǔ)言培訓(xùn) TCL(Tool Command Language)是一種解釋執(zhí)行的腳本語(yǔ)言 提供通用的編程能力:支持變量、過(guò)程和控制結(jié)構(gòu), 經(jīng)常被用于快速原型開(kāi)發(fā),腳本編程, GUI和測(cè)試等方面 TCL擁有一個(gè)功能強(qiáng)大的固有的核心命令集,同時(shí)支持根據(jù)需要 對(duì) TCL語(yǔ)言進(jìn)行擴(kuò)展 解釋器同等對(duì)待固有命令集和擴(kuò)展命令集 TCL的優(yōu)點(diǎn):語(yǔ)法簡(jiǎn)單,解釋執(zhí)行,可擴(kuò)展,跨平臺(tái) TCL的語(yǔ)法 簡(jiǎn)單的講: TCL語(yǔ)言的語(yǔ)法就是一些 TCL解釋器怎樣對(duì) TCL命令進(jìn)行分析的規(guī)則的集合??梢允褂?TCL腳本語(yǔ)言進(jìn)行簡(jiǎn)單的編程。在所有 TCL腳本中,系統(tǒng)內(nèi)部的命令名是小寫(xiě)格式 Example: set a 100 set b 101 set c 102。 Example: set log “test” set currentfilename “” LOG::AppErr $log [expr $[namespace current]::currentfilename] “error” 置換可以發(fā)生在包含命令名在內(nèi)的每一個(gè)單詞中,而且置換可以嵌套 Example: set a 1 set b$a 2 TCL提供三種形式的置換: 變量置換 、 命令置換 和 反斜杠置換 。 set a1 “hello” set b “$a world!”。 [ ] 中必須是一個(gè)合法的 TCL腳步,長(zhǎng)度不限。set b 2 puts “c = [expr $a+$b]” 而在花括號(hào)中,所有特殊字符都將成為普通字符,失去其特殊意義, TCL解釋器不會(huì)對(duì)其作特殊處理。 Example: This is a ment set a 100 Not a ment set b 100 。例如一個(gè)名為 “ 1323 7amp。 數(shù)組是一些元素的集合。表達(dá)式由操作數(shù)和操作符構(gòu)成。 TCL中用到的運(yùn)算符,它們的語(yǔ)法形式和用法跟 ANSI C中很相似 。 6 foreach TCL的控制