Tcl中的注釋符為井號#,但井號#的位置是有所講究的,即它必須位于命令的第一個(gè)字符。從這個(gè)角度而言,Tcl的注釋和命令處于同一層次,這意味著一個(gè)注釋要占用一個(gè)命令位置??匆粋€(gè)簡單的例子。在這個(gè)例子中,第一條注釋獨(dú)自占據(jù)一行并以#開始,因此該注釋是合法的;第二條注釋盡管和set命令在同一行,但set命令后緊隨分號,表明命令結(jié)束,故該注釋也是合法的;第三條注釋中,#出現(xiàn)在set命令中間,并不是命令的第一個(gè)字符,而被當(dāng)做set命令的一部分,從而造成set命令參數(shù)設(shè)置不合理。
如果在注釋語句中出現(xiàn)了反斜杠,那么即便另起一行,該行仍被認(rèn)為是注釋的一部分。如下圖所示。
如果需要注釋掉大段的代碼塊,可采用如下三種方法。
方法1:采用if語句
這個(gè)方法是被普遍接受的方法,如下圖所示。由于if條件判斷始終為0,故花括號中的代碼塊將不會被執(zhí)行。
方法2:利用花括號注釋
Tcl中花括號如果用做參數(shù)分組,則其內(nèi)部置換均被阻止,故可利用此特性實(shí)現(xiàn)大段代碼塊的注釋,如下圖所示。
方法3:利用過程proc
Tcl中的proc類似于C語言中的函數(shù),只有當(dāng)函數(shù)被調(diào)用時(shí),該函數(shù)才會被執(zhí)行。同樣地,只有該過程proc被調(diào)用,才會被做為命令去執(zhí)行。如下圖所示。commented_out沒有參數(shù)(過程名后的花括號為空),且該過程在后續(xù)腳本中沒被調(diào)用,從而達(dá)到了注釋的目的。
上述三種方法最終執(zhí)行的結(jié)果如下圖所示,可以看到x的值時(shí)鐘是100,同時(shí)y并沒有被賦值,從而驗(yàn)證了該方法的有效性。
Tcl中采用反斜杠可實(shí)現(xiàn)續(xù)航。需要注意的是反斜杠后面同一行不能跟隨任何字符包括空格和制表符,否則續(xù)行功能將無效。如下圖所示。第一個(gè)反斜杠后直接回車換行,故變量a的值即為hello;第二個(gè)反斜杠后有空格,變量x被賦值為空格,此時(shí)反斜杠起到置換的作用,而不是續(xù)行的功能。
結(jié)論:
-Tcl中的注釋需要以#開始,且#應(yīng)位于命令位置的第一個(gè)字符
-Tcl中的續(xù)行通過反斜杠來實(shí)現(xiàn),但反斜杠后不能跟其他字符
-
C語言
+關(guān)注
關(guān)注
180文章
7594瀏覽量
135858 -
TCL
+關(guān)注
關(guān)注
10文章
1712瀏覽量
88405 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4277瀏覽量
62323
原文標(biāo)題:注釋與續(xù)行
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論