<tt id="a3jom"></tt>
    1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

        <tt id="a3jom"></tt>

        《腳本語言培訓》PPT課件

        上傳人:xt****7 文檔編號:177880687 上傳時間:2022-12-27 格式:PPT 頁數:31 大?。?.68MB
        收藏 版權申訴 舉報 下載
        《腳本語言培訓》PPT課件_第1頁
        第1頁 / 共31頁
        《腳本語言培訓》PPT課件_第2頁
        第2頁 / 共31頁
        《腳本語言培訓》PPT課件_第3頁
        第3頁 / 共31頁
        資源描述:

        《《腳本語言培訓》PPT課件》由會員分享,可在線閱讀,更多相關《《腳本語言培訓》PPT課件(31頁珍藏版)》請在裝配圖網上搜索。

        1、制作:測試部日期:2012-03-12制作:某某部時間:2011-1-11、TCL腳本語言介紹2、TCL的語法3、TCL的變量4、TCL的表達式5、TCL常用命令6、TCL的控制7、TCL的過程8、TCL的字符串操作9、TCL的list10.學習TCL的一些建議和方法針對TCl腳本語言的新手2小時田顯蘭使沒有接觸過TCL腳本語言的同事對TCL腳本語言的基礎概念和基礎知識有一定的了解??梢允褂肨CL腳本語言進行簡單的編程。培訓目的培訓目的培訓對象培訓對象培訓講師培訓講師學習重點學習重點培訓課時培訓課時1、TCL腳本語言介紹TCL腳本語言培訓 TCL(Tool Command Language)是

        2、一種解釋執行的腳本語言 提供通用的編程能力:支持變量、過程和控制結構,經常被用于快速原型開發,腳本編程,GUI和測試等方面 TCL擁有一個功能強大的固有的核心命令集,同時支持根據需要對TCL語言進行擴展 解釋器同等對待固有命令集和擴展命令集 TCL的優點:語法簡單,解釋執行,可擴展,跨平臺2、TCL的語法簡單的講:TCL語言的語法就是一些語言的語法就是一些TCL解釋器怎樣對解釋器怎樣對TCL命令進行分析的規則的集合。命令進行分析的規則的集合。TCL命令的基本語法為:command arg1 arg2 arg3 TCL腳本語言培訓2、TCL的語法2-1、腳本、命令和單詞符號一個TCL腳本可以包含

        3、一個或多個命令。命令之間必須用換行符或分號隔開。在所有TCL腳本中,系統內部的命令名是小寫格式 Example:set a 100 set b 101 set c 102;set d 103TCL的每一個命令包含一個或幾個單詞,第一個單詞代表命令名,另外的單詞則是這個命令的參數,單詞之間必須用空格或TAB鍵隔開。命令之間是可以嵌套的Example:set a 100 set b expr$a+1TCL腳本語言培訓2-2、置換的引入2、TCL的語法TCL解釋器對一個命令的求值過程分為兩部分:分析和執行。在分析階段,TCL 解釋器運用規則把命令分成一個個獨立的單詞,同時進行必要的置換(substi

        4、tution);在執行階段,TCL 解釋器會把第一個單詞當作命令名,并查看這個命令是否有定義,如果有定義就激活這個命令對應的C/C+過程,并把所有的單詞作為參數傳遞給該命令過程,讓命令過程進行處理。Example:set log“test”set currentfilename“”LOG:AppErr$log expr$namespace current:currentfilename“error”置換可以發生在包含命令名在內的每一個單詞中,而且置換可以嵌套Example:set a 1 set b$a 2TCL提供三種形式的置換:變量置換變量置換、命令置換命令置換和反斜杠置換反斜杠置換。TC

        5、L腳本語言培訓2-3、三種置換類型2、TCL的語法變量置換由一個$符號標識,變量置換會導致變量的值插入一個單詞中。TCL解釋器在分析一個變量置換時,只把從$往后直到第一個不是字符,數字或下劃線的字符之間的單詞符號作為被置換的變量的名字 Example:set a“hello”;set a_1“hello”;set a-1“hello”set b “$a world!”;set c“$a_1 world!”;set d“$a-1 world!”命令置換是由 括起來的TCL命令及其參數。命令置換會導致某一個命令的所有或部分單詞被另一個命令的結果所代替。中必須是一個合法的TCL腳步,長度不限。中腳本

        6、的值為最后一個命令的返回值Example:set b expr 100*10反斜杠替換相當于C語言中反斜杠的作用,主要用于在單詞符號中插入諸如換行符、空格、$等被TCL解釋器當作特殊符號對待的字符 Example:set a a set b$100TCL腳本語言培訓2-4、雙引號和花括號2、TCL的語法除了使用反斜杠外,TCL提供另外兩種方法來使得解釋器把分隔符和置換符等特殊字符當作普通字符,而不作特殊處理,這就要使用雙引號(“”)和花括號()。TCL解釋器對雙引號中的各種分隔符將不作處理,但是對換行符 及$和兩種置換符會照常處理。Example:set a 1;set b 2 puts“c=

        7、expr$a+$b”而在花括號中,所有特殊字符都將成為普通字符,失去其特殊意義,TCL解釋器不會對其作特殊處理。Example:set a 1;set b 2 puts c=expr$a+$bTCL腳本語言培訓2-5、注釋2、TCL的語法TCL中的注釋符是,和直到所在行結尾的所有字符都被TCL看作注釋,TCL解釋器對注釋將不作任何處理。不過,要注意的是,必須出現在TCL解釋器期望命令的第一個字符出現的地方,才被當作注釋。Example:#This is a comment set a 100#Not a comment set b 100;#This is a commentTCL腳本語言培訓

        8、3、變量TCL腳本語言培訓TCL支持兩種類型的變量:簡單變量和數組。簡單變量包含兩個部分:名字和值。名字和值都可以是任意字符串。例如一個名為“1323 7&*:hdgg”的變量在TCL中都是合法的。不過為了更好的使用置換(substitution),變量名最好按CC+語言中標識符的命名規則命名。TCL解釋器在分析一個變量置換時,只把從$符號往后直到第一個不是字母、數字或下劃線的字符之間的單詞符號作為要被置換的變量的名字。數組是一些元素的集合。TCL的數組和普通計算機語言中的數組有很大的區別。在TCL中,不能單獨聲明一個數組,數組只能和數組元素一起聲明。數組中,數組元素的名字包含兩部分:數組名和

        9、數組中元素的名字,TCL中數組元素的名字(下標可以為任何字符串 Example:set day(monday)1 set day(tuesday)2 TCL不能支持復雜的數據類型不能支持復雜的數據類型 4、表達式TCL腳本語言培訓TCL中的表達式類似于ANSI C的表達式。表達式由操作數和操作符構成。TCL表達式的操作數通常是整數或實數。整數一般是十進制的,但如果整數的第一個字符是0(zero),那么TCL將把這個整數看作八進制的,如果前兩個字符是0 x則這個整數被看作是十六進制的。TCL的實數的寫法與ANSI C中完全一樣。TCL中用到的運算符,它們的語法形式和用法跟ANSI C中很相似。需

        10、要注意的一點是,數學函數并不是命令,只在表達式中出現才有意義。expr 命令:expr arg?arg.?expr可以有一個或多個參數,它把所有的參數組合到一起,作為一個表達式,然后求值 Example:expr 12*3 5-1、set、puts、unset5、TCL的常用命令TCL腳本語言培訓 set命令用于定義變量或讀取變量的值命令格式:set varName?value?Example:set test 100 set test puts命令用于寫指定內容到指定通道命令格式:puts?-nonewline?channelId?stringExample:puts“hello world

        11、!”puts nonewline“hello,ShangHai!“unset命令用于刪除一個變量命令格式:unset?-nocomplain?-?name name name.?Example:unset test5-2、append、incr5、TCL的常用命令TCL腳本語言培訓 append命令用于把文本加到一個變量的后面 命令格式:append varName?value value value.?Example:append test“hello”append a$b vs set a$a$b incr命令用于增加變量的值命令格式:incr varName?increment?Exam

        12、ple:incr test 2 incr test incr test-16-1、if6、TCL的控制TCL腳本語言培訓命令格式:if expr1?then?body1 elseif expr2?then?body2 elseif.?else?bodyN?Example:if$vbl=1 puts vbl is one if$vbl=1 puts vbl is one else puts vbl is not one if$vbl=1 puts vbl is one elseif$vbl=2 puts vbl is two else puts vbl is not one or two if$

        13、vbl=1|$vbl=2|$vbl=3 then puts vbl is one,two or three 注意:if 和 之間一定要有空格,body的一定要與if同行6-2、for6、TCL的控制TCL腳本語言培訓命令格式:for start test next bodyExample:for set x 0$x10 incr x puts x is$x“for set x 0$x10 incr x puts x is$x 注意:test必須用花括號括起來,推遲置換。6-3、while6、TCL的控制TCL腳本語言培訓命令格式:while test bodyExample:set x 0 w

        14、hile$x10 puts x is$x incr x 注意:test必須用花括號括起來,推遲置換。6-4、foreach6、TCL的控制TCL腳本語言培訓命令格式:foreach varname list bodyforeach varlist1 list1?varlist2 list2.?bodyExample:set values 1 3 5 7 2 4 6 8 foreach x$values puts$x set x foreach i j a b c d e f lappend x$j$i foreach i a b c j d e f g lappend x$i$j 6-5、sw

        15、itch6、TCL的控制TCL腳本語言培訓命令格式:switch?options?string pattern body?pattern body.?switch?options?string pattern body?pattern body.?Example:switch xyz a-b expr 1 c expr 2 default expr 3 7、TCL的過程TCL腳本語言培訓TCL支持過程的定義和調用,在TCL中,過程可以看作是用TCL腳本實現的命令,效果與TCL的固有命令相似。我們可以在任何時候使用proc命令定義自己的過程,TCL中的過程類似于C中的函數。過程的返回值是過程體中

        16、最后執行的那條命令的返回值 proc命令用于創建一個TCL過程命令格式:proc name args bodyExample:proc printArguments args foreach arg$args puts$arg proc mult varName multiplier 2 upvar 1$varName var set var expr$var*$multiplier 7-1、過程的定義7、TCL的過程TCL腳本語言培訓 TCL支持三種參數類型:無參數、缺省參數、可變參數:無參數、缺省參數、可變參數Example:proc add expr 2+3 proc add val1

        17、val2 2 val3 3 expr$val1+$val2+$val3 proc add val1 args set sum$val1 foreach i$args incr sum$i return$sum 7-2、過程的參數7、TCL的過程TCL腳本語言培訓對于在過程中定義的變量,因為它們只能在過程中被訪問,并且當過程退出時會被自動刪除,所以稱為局部變量;在所有過程之外定義的變量我們稱之為全局變量。TCL中,局部變量和全局變量可以同名,兩者的作用域的交集為空局部變量和全局變量可以同名,兩者的作用域的交集為空:局部變量的作用域是它所在的過程的內部;全局變量的作用域則不包括所有過程的內部。這一

        18、點和C語言有很大的不同.如果我們想在過程內部引用一個全局變量的值,可以使用global命令 Example:set a 100 proc sample x global a incr a return expr$a+$x 7-3、局部變量與全局變量7、TCL的過程TCL腳本語言培訓upvar命令用于用戶在過程中對全局變量或其他過程中的局部變量進行訪問命令格式:upvar?level?otherVar myVar?otherVar myVar.?upvar命令的第一個參數otherVar是我們希望以引用方式訪問的參數的名字,第二個參數myVar 是這個過程中的局部變量的名字,一旦使用了upvar

        19、 命令把otherVar 和myVar 綁定,那么在過程中對局部變量myVar 的讀寫就相當于對這個過程的調用者中otherVar 所代表的局部變量的讀寫。level參數表示:調用upvar命令的過程相對于我們希望引用的變量myVar在調用棧中相對位置 Example:proc temp arg upvar$arg b set b expr$b+2 upvar 2 other x ;#訪問當前過程的調用者的調用者中的otherupvar#0 other x ;#訪問全局的變量other7-4、引用upvar8、TCL的字符串操作(一)TCL腳本語言培訓 string命令具有強大的操作字符串的功

        20、能,其中的option選項多達20個string compare?-nocase?-length int?string1 string2 把字符串string1和string2進行比較,返回值為-1、0或1,分別對應string1小于、等于或大于string2。如果有-length 參數,那么只比較前 int 個字符,如果 int為負數,那么這個參數被忽略。如果有-nocase參數,那么比較時不區分大小寫。string equal?-nocase?-length int?string1 string2 把字符串string1和string2進行比較,如果兩者相同,返回值為1,否則返回0。其他參

        21、數與string compare同。string first string1 string2?startindex?在string2 中從頭查找與string1匹配的字符序列,如果找到,那么就返回匹配的第一個字母所在的位置(0-based)。如果沒有找到,那么返回-1。如果給出了startindex變量,那么將從startindex處開始查找。8、TCL的字符串操作(二)TCL腳本語言培訓 string index string charIndex 返回string 中第charIndex個字符(0-based)。charIndex可以是下面的值:整數n:字符串中第n個字符(0-based)e

        22、nd:最后一個字符 end整數n:倒數第n個字符。string index abcd end-1 返回字符c 如果charIndex小于0,或者大于字符串string的長度,那么返回空。string last string1 string2?startindex?參照string first.唯一的區別是從后往前查找 string length string 返回字符串string的長度.string match?-nocase?pattern string 如果pattern 匹配string,那么返回1,否則返回0.如果有-nocase參數,那么就不區分大小寫.8、TCL的字符串操作(三)

        23、TCL腳本語言培訓string range string first last返回字符串string中從第first個到第last個字符的子字符串(0-based)。如果first0,那么first被看作0,如果last大于或等于字符串的長度,那么last被看作end,如果first比last大,那么返回空。string repeat string count返回值為:重復了string字符串count次的字符串string replace string first last?newstring?返回值為:從字符串string 中刪除了第first到第last個字符(0-based)的字符串,

        24、如果給出了newstring變量,那么就用newstring替換從第first到第last個字符。如果first0,那么first被看作0,如果last大于或等于字符串的長度,那么last被看作end,如果first比last大或者大于字符串string的長度或者last小于0,那么原封不動的返回string string tolower string?first?last?返回值為:把字符串string轉換成小寫后的字符串,如果給出了first和last變量,就只轉換first和last之間的字符。9、TCL的list(一)TCL腳本語言培訓list這個概念在TCL中是用來表示集合的。TCL

        25、中list是由一堆元素組成的有序集合,list可以嵌套定義,list每個元素可以是任意字符串,也可以是list。list是TCL中比較重要的一種數據結構,對于編寫復雜的腳本有很大的幫助,TCL提供了很多基本命令對list進行操作 list命令 用于創建一個list命令格式:list?value value.?concat命令把多個list合成一個list,每個list變成新list的一個元素命令格式:concat list?list.?lindex命令返回list的第index個(0-based)元素 命令格式:lindex list index llength命令返回list的元素個數命令格

        26、式:llength list 9、TCL的list(二)TCL腳本語言培訓linsert命令返回一個新串,新串是把所有的value參數值插入list的第index個(0-based)元素之前得到命令格式:linsert list index value?value.?lreplace命令返回一個新串,新串是把list的第first(0-based)到第last 個(0-based)元素用所有的value參數替換得到的。如果沒有value參數,就表示刪除第first到第last個元素。命令格式:lreplace list first last?value value.?lrange 命令返回li

        27、st的第first(0-based)到第last(0-based)元素組成的串,如果last的值是end。就是從第first個直到串的最后 命令格式:lrange list first last lappend命令把每個value的值作為一個元素附加到變量varname后面,并返回變量的新值,如果varname不存在,就生成這個變量 命令格式:lappend varname value?value.?9、TCL的list(三)TCL腳本語言培訓lsearch 命令返回list中第一個匹配模式pattern的元素的索引,如果找不到匹配就返回-1命令格式:lsearch?-exact?-glob?

        28、-regexp?list pattern-exact、-glob、-regexp是三種模式匹配的技術。-exact表示精確匹配;-glob的匹配方式和string match命令的匹配方式相同;-regexp表示正規表達式匹配,缺省時使用-glob匹配 lsort命令返回把list排序后的串 命令格式:lsort?options?list options可以是如下值:-ascii 按ASCII字符的順序排序比較.這是缺省情況。-dictionary 按字典排序,與-ascii不同的地方是:(1)不考慮大小寫(2)如果元素中有數字的話,數字被當作整數來排序.因此:bigBoy排在bigbang和

        29、bigboy之間,x10y 排在x9y和x11y之間.-integer 把list的元素轉換成整數,按整數排序.-real 把list的元素轉換成浮點數,按浮點數排序.-increasing 升序(按ASCII字符比較)-decreasing 降序(按ASCII字符比較)-command command TCL自動利用command 命令把每兩個元素一一比較,然后給出排序結果。9、TCL的list(四)TCL腳本語言培訓 split命令把字符串string按分隔符splitChars分成一個個單詞,返回由這些單詞組成的串。如果splitChars 是一個空字符,string被按字符分開。如果splitChars沒有給出,以空格為分隔符命令格式:split string?splitChars?join命令把list的所有元素合并到一個字符串中,中間以joinString分開。缺省的joinString是空格 命令格式:join list?joinString?Join命令式split命令的逆。10、學習TCL的一些建議和方法TCL腳本語言培訓 Help幫助文檔幫助文檔 2.命令幫助提示命令幫助提示 3.教程文檔教程文檔 4.實地操作實地操作謝謝各位!

        展開閱讀全文
        溫馨提示:
        1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
        2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
        3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
        4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
        5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
        6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
        7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
        關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

        網站客服QQ:2846424093或766697812

        copyright@ 2020-2023  zhuangpeitu.com 裝配圖網版權所有   聯系電話:0512-65154990  

        備案號:蘇ICP備12009002號-6   經營許可證:蘇B2-20200052  蘇公網安備:32050602011098


        本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

        特级毛片a片全部免费播,特级毛片a片全部免费观看,特级毛片免费无码不卡观看,特级全黄a片高清视频

        <tt id="a3jom"></tt>
        1. <tt id="a3jom"><noscript id="a3jom"></noscript></tt>

            <tt id="a3jom"></tt>