TCL基本語法

2021-10-12 15:24:57 字數 2760 閱讀 2233

目錄

1.輸出

2.賦值

3.替換

tcl使用」puts」關鍵字來作為輸出語句

puts hello結果=> helloputs –nonewline  "hello hello"結果=>hello hello
tcl 使用「set」關鍵字來定義引數,不必指定變數值的型別,因為變數

值的型別僅一種 ---- 字串。為變數賦值時,會為變數開闢一段記憶體空間來

儲存變數值。

set a hello             ;#定義變數 a 並賦值=>helloputs $a                 ;#輸出變數值=>helloset a  「hello world」  ;#重新賦值=>hello worldset a   「hello world」=> test tcl         ;#輸出變數值,此時不加」$」puts $a=>hello world       ;#輸出變數值,此時要加」$」puts a=> a            ;#輸出字元」a」set b $a=>hello worldputs $b=>hello world           ;#將 a 的值賦給 b
(1)$符實現引用替換,用以引用引數值。tcl 對替換只進行一遍解釋,對巢狀的」$」不於理睬。

set foo oo

=>oo

set dollar foo=>fooset x $$dollar=>$foo ;#只解釋一次,將「$dollar」用 dollar 的值(foo)代替, ;#命令等效為 set x ,大括號阻止替換。set x=>$fooset y $x=>$foo ; #一輪替換
(2) :方括號「」完成命令替換。用「」將一條命令括起來,命令執行完成後,返回結果。

set b [set a 5] ;#set a 5 命令輸出的結果賦給 b

=>5

puts $b

=>5

set c [expr 5 * 10] ;#將乘式結果賦給 c

=>50

(3): 」 」 和{}

雙引號和花括號將多個單詞組織成乙個引數,也是一種替換操作。」」和{}內的替換如何進行呢?一般的原則是在」 「內的替換正常進行,而在{}內的替換有可能會被阻止。

set a 123=>123puts "$a"         #會替換=>123puts           #不會替換=>$a
set z [set x "this is a string within quotes within braces"]

puts $z

上面的**將給出結果this is a string within quotes within braces

考慮到變數z設定為字串,這部分很清楚"this is a string within quotes within braces"

至於第二個命令,在替換之後,應該是這樣的puts "this is a string within quotes within braces"

但是,請檢查以下**:

set z 

puts $z

現在的結果是[set x "this is a string within quotes within braces"]

因為花括號分組的所有東西都沒有替代品。所以變數z現在應該保持該值[set x "this is a string within quotes within braces"]

但對於下一行:puts $z,我認為$z應該用它的值代替,[set x "this is a string within quotes within braces"]命令現在看起來像

TCL之基本語法1

set就是變數宣告,這個宣告在需要使用的指令下會自動執行,不會出現沒有宣告的錯誤。但是對於puts這類定向訪問的是不能沒有宣告的。這裡簡單理解tcl中的變數 以字串的形式存在,具體的值由 符號訪問。訪問之前必須已經有宣告。set x 0 puts x puts x 兩個puts都是可以顯示結果的,掐...

1 TCL指令碼基本語法(概要)

乙個tcl指令碼可以包含乙個或多個命令。命令之間必須用換行符或分號隔開。第乙個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或tab鍵隔開。變數置換 命令置換 反斜槓置換 例如set msg multiple space 如果沒有 則有報警。雙引號將各種分隔符將不作處理,對換行符及 和兩種置換...

1 TCL指令碼基本語法(概要)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!乙個tcl指令碼可以包含乙個或多個命令。命令之間必須用換行符或分號隔開。第乙個單詞代表命令名,另外的單詞則是這個命令的引數,用空格或tab鍵隔開。變數置換 命令置換 反斜槓置換 例如set msg multiple space 如果沒有 則有報警。...