Vivado/Tcl之Tcl基礎語法(六)流程控制

一、if命令

if 表達式 待執行Tcl腳本

if先判斷表達式是否為真 ,為真則執行tcl腳本

tcl解釋器認為換行符是前一個命令的分隔符,除非換行符在花括號或雙引號之中,如下

if包括else命令 但不是獨立命令,是if一部分

if還可以包含一個或多個elseif,而且他也不是獨立一部分必須是與if一起

二、switch 命令

switch 待檢測值 一個或多個元素對的列表

該命令是利用一個給定值與多個模式進行匹配。也一定註意花括號問題

模式 匹配方式

-exact 嚴格的字符串比較 默認方式

-glob string match 命令下的匹配

-regexp 正則表達式匹配

這幾個後面記住緊跟 —

使用switch命令時,建議總是將匹配模式與對應腳本放在花括號中,這樣可以阻止不期望的變量置換

如果匹配模式對應的腳本隻有一個短劃線,那麼switch還會認為它與一個對應的腳本相同

switch 中添加註釋時隻能加在匹配模式對應的腳本中,添加匹配模式部分,系統會報錯

三、while 命令

while 表達式構成的循環條件 tcl腳本循環體

循環條件為真進入循環體處理tcl腳本,直到結果為假,返回一個空字符串

這裡與c語言一樣,continue 表示退出部分循環,break表示推出全部循環

雙引號“”會將循環條件中的$發生變量的延期置換。例如上面語句如果加瞭“”,那麼它就是1<3恒成立,就變成瞭死循環,其延期置換的概念參見下

四、for命令

for 初始化變量 包含循環變量的表達式 更新循環變量 tcl腳本循環體

for先運行初始化變量,再處理循環變量的表達式 ,為真tcl腳本循環體,然後更新循環變量 ,然後判斷循環變量的表達式,為假退出

這是循環變量遞減的情形

for也可以嵌套

將序列映射到3行2列的二維數組

五、source 命令

作用是讀取一個tcl文件,並將文件內容作為tcl腳本運行,source命令可以嵌套,嵌套執行返回最後一個tcl腳本的值

赞(0)