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