




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Tcl(Tool Command Language,即工具命令語(yǔ)言;Tcl念作tickle即“踢叩” )是一種簡(jiǎn)單易用易于擴(kuò)展的嵌入式腳本語(yǔ)言, 主要用于發(fā)布命令給交互式程序(如文本編輯器、調(diào)試器),及完成自動(dòng)化批處理工作。Tcl語(yǔ)言不同于其他語(yǔ)言的最大的特點(diǎn)是:Tcl程序由Tcl命令序列組成,其每條語(yǔ)句都是一條指令。由于其極易擴(kuò)展的特性,Tcl有大量的用C/C+編寫的擴(kuò)展用于提供Tcl本身不具有的功能。其中使用最廣泛的擴(kuò)展是TK,TK提供了各種OS平臺(tái)下的圖形用戶界面GUI(連強(qiáng)大的Python語(yǔ)言都不單獨(dú)提供自己的GUI,而是提供接口適配到TK上)。另一個(gè)流行的擴(kuò)展包是Expect,它提
2、供了通過(guò)終端自動(dòng)執(zhí)行命令的能力,例如passwd, ftp, telnet等命令驅(qū)動(dòng)的外殼。一、Tcl程序基本結(jié)構(gòu)1、基本語(yǔ)法 Tcl的語(yǔ)法類似于shell:一條Tcl的命令串包含若干條命令,命令使用換行符或分號(hào)來(lái)隔開(kāi);而每一條命令包含若干個(gè)域(field),域使用空白(空格或TAB)來(lái)隔開(kāi)第一個(gè)域是命令的名字,其它的域是該命令的參數(shù)。 Tcl解釋器對(duì)一個(gè)命令的執(zhí)行過(guò)程分為兩步:分析階段和執(zhí)行階段。在分析階段,Tcl 解釋器運(yùn)用規(guī)則識(shí)別出命令并把命令分成一個(gè)個(gè)獨(dú)立的單詞,同時(shí)進(jìn)行必要的置換(substitution);在執(zhí)行階段,Tcl 解釋器會(huì)把第一個(gè)單詞當(dāng)作命令名,并查看這個(gè)命令是否有定義
3、,如果有定義就激活這個(gè)命令對(duì)應(yīng)的C/C+過(guò)程,并把所有后面的單詞作為參數(shù)傳遞給該命令過(guò)程,讓命令過(guò)程進(jìn)行處理。 Tcl解釋器既可以執(zhí)行Tcl內(nèi)建命令亦可執(zhí)行用戶自己通過(guò)C/C+函數(shù)實(shí)現(xiàn)的新建命令,在應(yīng)用程序中可用函數(shù)Tcl_CreateCommand來(lái)完成命令的創(chuàng)建。所有命令參數(shù)都被作為字符串來(lái)傳遞,命令自己會(huì)按其所需來(lái)解釋參數(shù)。 另外關(guān)于Tcl的注釋有一個(gè)特殊的要求:必須出現(xiàn)在Tcl解釋器期望命令的第一個(gè)字符出現(xiàn)的地方,才被當(dāng)作注釋。例如:set a 100 # Not a commentset b 101; # this is a comment 第一個(gè)例子中#及其后面的內(nèi)容會(huì)被當(dāng)作set
4、 的參數(shù)而非注釋從而導(dǎo)致參數(shù)個(gè)數(shù)錯(cuò)誤;但第二個(gè)被解釋為注釋,因?yàn)?前面有一個(gè)分號(hào),而分號(hào)和換行一樣被看作是命令的分隔符。2、置換(Substitution)set x 10set y 100 + x 上面命令執(zhí)行后,y的值是“100 + x”而不是我們期望的110。這是因?yàn)門cl解釋器在分析命令時(shí),把所有的命令參數(shù)都當(dāng)作字符串看待,所以x 被看作了字符串“100 + x”的一部分。如果我們想使用x的值10 ,就必須告訴Tcl解釋器:我們?cè)谶@里期望的是變量x的值,而非字符x。那么怎么告訴Tcl解釋器呢?這就要用到Tcl語(yǔ)言中的置換功能。 Tcl提供三種形式的置換:變量置換、命令置換和反斜杠置換。
5、每種置換都會(huì)導(dǎo)致一個(gè)或多個(gè)單詞本身被其他的值所代替。置換可以發(fā)生在包括命令名在內(nèi)的每一個(gè)單詞中,而且置換可以嵌套。(1)變量置換(variable substitution) 變量置換由一個(gè)符號(hào)標(biāo)記,變量置換會(huì)導(dǎo)致變量的值而非變量(標(biāo)識(shí)符)本身被插入到字符串中。set x 10set y 100 + $x 這時(shí),y的值還不是我們想要的值110,而是10+100,因?yàn)門cl解釋器把10+100看成是一個(gè)字符串而不是表達(dá)式;y要想得到值110,還必須用命令置換,使得Tcl會(huì)把10+100看成一個(gè)表達(dá)式并求值。(2)命令置換(command substitution) 命令置換是由括起來(lái)的Tcl命令
6、及其參數(shù),命令置換會(huì)導(dǎo)致某一個(gè)命令的所有或部分單詞(參數(shù))被另一個(gè)命令的結(jié)果所代替。set x 10set y expr 100+$x 這時(shí),y的值就是110了。這里當(dāng)Tcl解釋器遇到字符時(shí),它就會(huì)把隨后的expr作為一個(gè)命令名,從而激活與expr對(duì)應(yīng)的C/C+過(guò)程,并把expr命令中變量置換后得到的10+110傳遞給該命令過(guò)程進(jìn)行處理。 有了命令置換,實(shí)際上就表示命令之間是可以嵌套的,即一個(gè)命令的結(jié)果可以作為別的命令的參數(shù)。 注意,中必須是一個(gè)合法的Tcl腳本,長(zhǎng)度不限。中腳本的值為最后一個(gè)命令的返回值。 (3)反斜杠置換(backslash subtitution) Tcl語(yǔ)言中的反斜杠置
7、換類似于C語(yǔ)言中反斜杠的用法,主要用于在單詞符號(hào)中插入諸如換行符、空格、$等被Tcl解釋器當(dāng)作特殊符號(hào)對(duì)待的字符。例如:set msg multiple space 如果沒(méi)有的話,Tcl會(huì)報(bào)錯(cuò),因?yàn)榻忉屍鲿?huì)把這里最后兩個(gè)單詞之間的空格認(rèn)為是分隔符,于是發(fā)現(xiàn)set命令有多于兩個(gè)參數(shù),從而報(bào)錯(cuò)。加入了后,空格不被當(dāng)作分隔符,multiple space被認(rèn)為是一個(gè)單詞(word)。(4)雙引號(hào)和花括號(hào) 除了使用反斜杠外,Tcl提供另外兩種方法來(lái)使得解釋器把分隔符和置換符等特殊字符當(dāng)作普通字符,而不作特殊處理,這就要使用雙引號(hào)和花括號(hào)()。 Tcl解釋器對(duì)雙引號(hào)中的各種分隔符將不作處理,但是對(duì)換行符
8、及和兩種置換符會(huì)照常處理。而在花括號(hào)中,所有特殊字符都將成為普通字符,失去其特殊意義,Tcl解釋器不會(huì)對(duì)其作特殊處理。二、Tcl變量數(shù)據(jù)類型 Tcl只支持一種數(shù)據(jù)類型:字符串(string)。所有的命令,命令的所有的參數(shù),命令的結(jié)果,所有的變量都是字符串。請(qǐng)牢記這一點(diǎn),所有的東西都是字符串(然而字符串的實(shí)際解釋是依賴于其所處上下文,共有三種解釋:命令, 表達(dá)式和表)。(1)簡(jiǎn)單變量 一個(gè)Tcl的簡(jiǎn)單變量包含兩個(gè)部分:名字和值,其中名字和值都可以是任意字符串。不過(guò)為了更好的使用變量置換功能,變量名最好按CC+語(yǔ)言中標(biāo)識(shí)符的命名規(guī)則命名。這是因?yàn)門cl解釋器在分析一個(gè)變量置換時(shí),只把從符號(hào)往后直到
9、第一個(gè)不是字母、數(shù)字或下劃線的字符之間的單詞符號(hào)作為要被置換的變量的名字。例如:set a 2set a.1 5set b $a.1 在最后一個(gè)命令行,我們希望把變量a.1的值付給b,但是Tcl解釋器在分析時(shí)只把$符號(hào)之后直到第一個(gè)不是字母、數(shù)字或下劃線的字符(這里是.)之間的單詞符號(hào)(這里是a)當(dāng)作要被置換的變量的名字,所以Tcl解釋器把a(bǔ)置換成2,然后把字符串“2.1”付給變量b。這顯然與我們的初衷不同。當(dāng)然,如果變量名中有不是字母、數(shù)字或下劃線的字符又要用變量置換,可以用花括號(hào)把變量名括起來(lái)。例如:set b $a.1(2)數(shù)組變量 數(shù)組是一些元素的集合。Tcl的數(shù)組和一般編程語(yǔ)言中的數(shù)
10、組有很大的區(qū)別。在Tcl中,不能單獨(dú)聲明一個(gè)數(shù)組,數(shù)組只能和數(shù)組元素一起聲明。數(shù)組中數(shù)組元素的名字包含兩部分:數(shù)組名和數(shù)組中元素的名字,Tcl中數(shù)組元素的名字(下標(biāo)可以為任何字符串。例如:set day(monday) 1 set day(sunday) 2(3)string結(jié)構(gòu)及其操作 因?yàn)門CL把所有的輸入都當(dāng)作字符串看待,所以TCL提供了較強(qiáng)的字符串操作功能【format】 語(yǔ)法:format formatstring vlue value. format命令類似于ANSIC中的sprintf函數(shù),它按formatstring提供的格式,把各個(gè)value的值組合到forma-tstrin
11、g中形成一個(gè)新字符串并返回。例如:set msg format %s is %d years old $name $age 【scan】 語(yǔ)法:scan string formatsting varName varName . scan命令可以認(rèn)為是format命令的逆,其功能類似于ANSI C中的sscanf函數(shù)。它按formatsting提供的格式分析string字符串,然后把結(jié)果存到變量varName中,注意除了空格和TAB鍵之外,string 和formatsting中的字符和%必須匹配。例如:scan some 26 34 some %d %d a b【regexp】 語(yǔ)法:rege
12、xp switchs - exp string matchVar subMatchVar subMatchVar. regexp命令用于判斷正規(guī)表達(dá)式exp是否全部或部分匹配字符串string,匹配返回1,否則0。 regexp可以設(shè)置一些開(kāi)關(guān)(switchs,來(lái)控制匹配的具體方式,如:-nocase,-line等,其中- 表示這后面再?zèng)]有開(kāi)關(guān)(switchs了,即使后面有以-開(kāi)頭的參數(shù)也被當(dāng)作正規(guī)表達(dá)式的一部分。如果regexp命令后面有參數(shù)matchVar和subMatchVar,則所有的參數(shù)被當(dāng)作變量名,如果變量不存在,就會(huì)被生成。 regexp把匹配整個(gè)正規(guī)表達(dá)式的子字符串賦給第一個(gè)變
13、量,匹配正規(guī)表達(dá)式的最左邊的子表達(dá)式的子字符串賦給第二個(gè)變量,依次類推,例如:regexp (0-9+) *(a-z+) there is 100 apples total num word puts $total ,$num,$word 顯示結(jié)果為:100 apples ,100,apples【regsub】 語(yǔ)法:regsub switchs exp string subSpec varname regsub的第一個(gè)參數(shù)是一個(gè)正則表達(dá)式,第二個(gè)參數(shù)是一個(gè)輸入字符串,這一點(diǎn)和regexp命令完全一樣,也是當(dāng)匹配時(shí)返回1,否則返回0。不過(guò)regsub用第三個(gè)參數(shù)的值來(lái)替換字符串string中和
14、正規(guī)表達(dá)式匹配的部分,第四個(gè)參數(shù)被認(rèn)為是一個(gè)變量,替換后的字符串存入這個(gè)變量中。例如:regsub there They live there lives their x puts $x 顯示結(jié)果為:They live their lives【sting】 語(yǔ)法:string subcmd arg arg. string命令具有強(qiáng)大的操作字符串的功能,并通過(guò)其中的subcmd來(lái)區(qū)別具體想要執(zhí)行的具體操作。他們中的一些如下:string length stringstring range string first laststring index string charIndexstring t
15、olower string first laststring replace string first last newstringstring equal -nocase -length int string1 string2string match -nocase pattern string 如果pattern 匹配string,那么返回1,否則返回0.string compare -nocase -length int string1 string2 如果有 -length 參數(shù),那么只比較前 int 個(gè)字符string first string1 string2 startindex
16、 在string2 中從頭查找與string1匹配的字符序列,如果找到,那么就返回匹配的第一個(gè)字母所在的位置(0-based)。如果沒(méi)有找到,那么返回-1。string trim string chars 返回值為:從string字符串的首尾刪除掉了字符集合chars中的字符后的字符串。如果沒(méi)有給出chars,那么將刪除掉spaces、tabs、newlines、carriage returns這些字符.(4)list結(jié)構(gòu)及其操作 list這個(gè)概念在TCL中是用來(lái)表示集合的。TCL中l(wèi)ist是由一堆元素組成的有序集合,list可以嵌套定義,list每個(gè)元素可以是任意字符串,也可以是list。T
17、cl提供了很多基本命令對(duì)list進(jìn)行操作?!緇ist】 語(yǔ)法:list value value. 這個(gè)命令生成一個(gè)list,list的元素就是所有的value?!綾oncat】 語(yǔ)法:concat list list. 這個(gè)命令把多個(gè)list合成一個(gè)list?!緇length】 語(yǔ)法:llength list 返回list的元素個(gè)數(shù)?!緇index】 語(yǔ)法:lindex list index 返回list的第index個(gè)(0-based)元素?!緇range】 語(yǔ)法:lrange list first last 返回list的第first (0-based)到第last (0-based)元素
18、組成的串,如果last的值是end。就是從第first個(gè)直到串的最后?!緇insert】 語(yǔ)法:linsert list index value value.? 返回一個(gè)新串,新串是把所有的value參數(shù)值插入list的第index個(gè)(0-based)元素之前得到?!緇append】 語(yǔ)法:lappend varname value value.? 把每個(gè)value的值作為一個(gè)元素附加到變量varname后面,并返回變量的新值,如果varname不存在,就生成這個(gè)變量。【lreplace】 語(yǔ)法:lreplace list first last value value . 返回一個(gè)新串,新串是
19、把list的第firs (0-based)t到第last 個(gè)(0-based)元素用所有的value參數(shù)替換得到的。如果沒(méi)有value參數(shù),就表示刪除第first到第last個(gè)元素?!緇sort】 語(yǔ)法:lsort options? list 這個(gè)命令返回把list排序后的串。options可以是如下值:-ascii 按ASCII字符的順序排序比較.這是缺省情況。-dictionary 按字典排序,與-ascii不同的地方是: (1)不考慮大小寫 (2)如果元素中有數(shù)字的話,數(shù)字被當(dāng)作整數(shù)來(lái)排序.【lsearch】 語(yǔ)法:lsearch -option list pattern 返回list中
20、第一個(gè)匹配模式pattern的元素的索引,如果找不到匹配就返回-1。option取-exact、-glob、 -regexp是三種模式匹配的技術(shù),缺省時(shí)使用-glob匹配?!緅oin】 語(yǔ)法:join list joinString 這個(gè)命令把list的所有元素合并到一個(gè)字符串中,中間以joinString分開(kāi)。缺省的joinString是空格?!緎plit】 語(yǔ)法:split string splitChars 把字符串string按分隔符splitChars分成一個(gè)個(gè)單詞,返回由這些單詞組成的串。如果splitChars 是一個(gè)空字符,string被按字符分開(kāi)。如果splitChars沒(méi)有
21、給出,以空格為分隔符。(5)file結(jié)構(gòu)及其操作 TCL提供了豐富的文件操作的命令。通過(guò)這些命令你可以對(duì)文件名進(jìn)行操作(查找匹配某一模式的文件)、以順序或隨機(jī)方式讀寫文件、檢索系統(tǒng)保留的文件信息(如最后訪問(wèn)時(shí)間)。基本文件I/O pwd和UNIX下的pwd命令完全一樣, 沒(méi)有參數(shù),返回當(dāng)前目錄的完整路徑。 cd 命令也和UNIX命令也一樣,使用一個(gè)參數(shù),可以把工作目錄改變?yōu)閰?shù)提供的目錄。 以下這個(gè)名為tgrep的過(guò)程,可以說(shuō)明TCL文件I/O的基本特點(diǎn):proc tgrep pattern filename set f open $filename r while gets $f line
22、if regexp $pattern $line puts stdout $line close $f open命令返回一個(gè)字符串用于表識(shí)打開(kāi)的文件。當(dāng)調(diào)用別的命令(如:gets,puts,close,對(duì)打開(kāi)的文件進(jìn)行操作時(shí),就可以使用這個(gè)文件標(biāo)識(shí)符。TCL有三個(gè)特定的文件標(biāo)識(shí): stdin,stdout和stderr ,分別對(duì)應(yīng)標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和錯(cuò)誤通道,任何時(shí)候你都可以使用這三個(gè)文件標(biāo)識(shí)。隨即文件訪問(wèn) 默認(rèn)文件輸入輸出方式是連續(xù)的:即每個(gè)gets或 read命令返回的是上次gets或 read訪問(wèn)位置后面的字節(jié),每個(gè)puts命令寫數(shù)據(jù)是接著上次puts寫的位置接著寫。TCL提供了seek
23、,tell和eof等命令使用戶可以非連續(xù)訪問(wèn)文件。每個(gè)打開(kāi)的打開(kāi)文件都有訪問(wèn)點(diǎn),即下次讀寫開(kāi)始的位置。文件打開(kāi)時(shí),訪問(wèn)點(diǎn)總是被設(shè)置為文件的開(kāi)頭或結(jié)尾,這取決于打開(kāi)文件時(shí)使用的訪問(wèn)模式。每次讀寫后訪問(wèn)位置按訪問(wèn)的字節(jié)數(shù)后移相應(yīng)的位數(shù)。 seek fileId offset origin 把fileId標(biāo)識(shí)的文件的訪問(wèn)點(diǎn)設(shè)置為相對(duì)于origin偏移量為offset的位置。origin可以是start,current,end,默認(rèn)是start。 tell fileId 返回fileId標(biāo)識(shí)的文件的當(dāng)前訪問(wèn)位置。 eof fileId 如果到達(dá)fileId標(biāo)識(shí)的文件的末尾返回1,否則返回0。文件操作和
24、獲取文件信息【grob】 語(yǔ)法:glob switches pattern pattern . glob命令的模式采用string match命令的匹配規(guī)則,返回匹配這個(gè)(些)模式的所有文件的列表。例如:glob *.c *.hglob */ 只返回當(dāng)前目錄的所有子目錄?!緁ile】 語(yǔ)法:file subcmd arg arg. file 通過(guò)眾多的subcmd子操作提供強(qiáng)大的文件操作和訪問(wèn)能力。他們中的一些如下:file exists namefile extension namefile mkdir dir dir .file copy -force - source targetfil
25、e rename -force - source targetfile delete -force - pathname pathname . 三、Tcl表達(dá)式(1)操作數(shù) Tcl表達(dá)式的操作數(shù)通常是整數(shù)或?qū)崝?shù)。整數(shù)一般是十進(jìn)制的, 但如果整數(shù)前兩個(gè)字符是0 x則這個(gè)整數(shù)被看作是十六進(jìn)制的。Tcl的實(shí)數(shù)的寫法與ANSI C中完全一樣。(2)運(yùn)算符 Tcl中的運(yùn)算符的語(yǔ)法形式和用法跟ANSI C中完全一致。 另外,Tcl中提供了大量的常用數(shù)學(xué)函數(shù)來(lái)增強(qiáng)自身的數(shù)學(xué)運(yùn)算和處理能力,這些函數(shù)的形式和用法大都與ANSI C中的數(shù)學(xué)函數(shù)完全一致。四、Tcl流程控制TCL中的控制流和C語(yǔ)言類似,包括if、s
26、witch、for、while、foreach、break、continue等命令。(1)條件語(yǔ)句if $x0 . elseif $x1 . elseif $x2 . else . 注意,上例中一定要寫在上一行,因?yàn)槿绻贿@樣,TCL 解釋器會(huì)認(rèn)為if命令在換行符處已結(jié)束,下一行會(huì)被當(dāng)成新的命令,從而導(dǎo)致錯(cuò)誤的結(jié)果。在Tcl的其他流程控制命令的書(shū)寫中也要注意這個(gè)問(wèn)題。書(shū)寫中還要注意的一個(gè)問(wèn)題是if 和之間應(yīng)該有一個(gè)空格,否則TCL解釋器會(huì)把if作為一個(gè)整體當(dāng)作一個(gè)命令名,從而導(dǎo)致錯(cuò)誤。switch option $x a - b incr t1 c incr t2 default incr t
27、3 其中可選參數(shù)option,表示進(jìn)行匹配的方式。TCL支持三種匹配方式:-exact方式,-glob方式,-regexp方式,缺省情況表示-glob方式。-exact方式表示的是精確匹配,-glob方式的匹配方式和string match 命令的匹配方式相同,-regexp方式是正規(guī)表達(dá)式匹配方式。 條件中a的后面跟一個(gè)表示使用和下一個(gè)模式相同的腳本,default表示匹配任意值。一旦switch命令 找到一個(gè)模式匹配,就執(zhí)行相應(yīng)的腳本,并返回腳本的值作為switch命令的返回值。(2)循環(huán)語(yǔ)句for init test reinit body 參數(shù)init是一個(gè)初始化腳本,第二個(gè)參數(shù)tes
28、t是一個(gè)表達(dá)式,用來(lái)決定循環(huán)什么時(shí)候中斷,第三個(gè)參數(shù)reinit是一個(gè)重新初始化的腳本,第四個(gè)參數(shù)body也是腳本。如:set b for set i expr llength $a -1 $i=0 incr i -1 lappend b lindex $a $i while的例子假設(shè)變量 a 是一個(gè)鏈表,下面的腳本把a(bǔ) 的值復(fù)制到b: set b set i expr llength $a -1 while $i=0 lappend b lindex $a $i incr i -1 foreach命令的兩種形式:1、foreach varName list body 第一個(gè)參數(shù)varName是一個(gè)變量,第二個(gè)參數(shù)list 是一個(gè)表(有序集合),第三個(gè)參數(shù)body是循環(huán)體。 每次取得鏈表的一個(gè)元素,都會(huì)執(zhí)行循環(huán)體一次。如:set b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 4617.4-2023電子政務(wù)外網(wǎng)5G平面和IPv6網(wǎng)絡(luò)技術(shù)規(guī)范第4部分:IPv6地址及路由規(guī)劃
- 2025年城市污水處理廠智能化升級(jí)改造與智能水質(zhì)分析報(bào)告
- 管道行業(yè)競(jìng)爭(zhēng)現(xiàn)狀及應(yīng)用前景預(yù)測(cè)研究報(bào)告(2025-2030版)
- 高效離心壓縮機(jī)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書(shū)
- 高清電子相冊(cè)軟件企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書(shū)
- 電子級(jí)化學(xué)品穩(wěn)定性提升企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書(shū)
- 高速列車座椅舒適度企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書(shū)
- 2025年人工智能在語(yǔ)音通信中的降噪與語(yǔ)音增強(qiáng)技術(shù)研究報(bào)告
- 普通合伙經(jīng)營(yíng)協(xié)議書(shū)模板
- 2025年中國(guó)沙漠工程車行業(yè)項(xiàng)目可行性研究及投資前景預(yù)測(cè)報(bào)告
- 水電解制氫設(shè)備操作與維護(hù)規(guī)程
- 《男性困境:他們內(nèi)心的創(chuàng)傷、恐懼與憤怒》記錄
- 胃癌晚期護(hù)理查房
- 藥政與藥品生產(chǎn)質(zhì)量管理智慧樹(shù)知到答案2024年青島科技大學(xué)
- 借名貸款協(xié)議書(shū)范文范本
- 人教版高中數(shù)學(xué)A版 必修第1冊(cè)《第二章 一元二次函數(shù)、方程和不等式》大單元整體教學(xué)設(shè)計(jì)
- 職校招生宣傳課件
- 固體料倉(cāng)計(jì)算表格
- 四川省成都市新都區(qū)新都一中北星中學(xué)2024-2025學(xué)年上學(xué)期七年級(jí)分班(獎(jiǎng)學(xué)金)模擬數(shù)學(xué)試題
- 考慮土體不同強(qiáng)度與變形參數(shù)及基坑支護(hù)空間影響的基坑支護(hù)變形與內(nèi)力研究
- 《運(yùn)營(yíng)管理學(xué)》期末考試試卷附答案
評(píng)論
0/150
提交評(píng)論