tcl 全稱是 tool command language。它是乙個基於字串的命令語言,基礎結構和語法非常簡單,易於學習和掌握。
tcl 語言是乙個解釋性語言,所謂解釋性是指不象其他高階語言需要通過編譯和聯結,它象其他 shell 語言一樣,直接對每條語句順次解釋執行。
tcl 資料型別簡單。對 tcl 來說,它要處理的資料只有一種——字串。tcl 將變數值以字串的形式進行儲存,不關心它的實際使用型別。
1.輸出:tcl使用」puts"關鍵字來作為輸出語句
[語法] : puts ?-nonewline? ?channelid? string
tcl 的輸出命令是「puts」,將字串輸出到標準輸出 channelid。語法中兩個問號之間的引數為可選引數。
puts hello但如果輸出一段有空格的文字,則要用雙引號或者花括號括起來結果=>hello
puts –nonewline "hello hello"結果=>hello hello
-nonewline 選項告訴 puts 不輸出回車換行
。 注意:
雙引號和花括號的作用是將多個詞組織成乙個變元
,但他們是有差別的!這種差別就是在處理「替換操作」時,
前者允許替換發生
,而後者則可能會阻止替換
。關於兩者用法與差別以後會陸續講到。在這裡兩者作用相同。
2.賦值: tcl 使用「set」關鍵字來定義引數,不必指定變數值的型別,因為變數值的型別僅一種——字串。為變數賦值時,會為變數開闢一段記憶體空間來儲存變數值。
[語法] set varname [value]
set a hello ;#定義變數 a 並賦值3.替換=>hello
puts $a ;#輸出變數值
=>hello
set a 「hello world」 ;#重新賦值
=>hello world
set a 「hello world」
=>test tcl ;#輸出變數值,此時不加」$」
puts $a
=>hello world ;#輸出變數值,此時要加」$」
puts a
=>a ;#輸出字元」a」
set b $a
=>hello world
puts $b
=>hello world ;#將 a 的值賦給 b
(1):$
「$」符實現引用替換,用以引用引數值。上面也用到過
tcl 對替換只進行一遍解釋,對巢狀的
」$」不於理睬
。
set foo oo(2) :=>oo
set dollar foo
=>foo
set x $$dollar
=>$foo ;#只解釋一次,將「$dollar」用 dollar 的值(foo)代替, ;#命令等效為 set x ,大括阻止替換。
set x
=>$foo
set y $x
=>$foo ; #一輪替換
方括號「」完成命令替換。用「」將一條命令括起來,命令執行完成後,返回結果
。
set b [set a 5] ;#set a 5命令輸出的結果賦給 b(3): " " 和{}=>5puts $b
=>5set c [expr 5 * 10] ;#將乘式結果賦給 c
=>50
雙引號和花括號將多個單詞組織成乙個引數,也是一種替換操作
。」」和{}內的替換如何進行
呢?一般的原則是
在" "內的替換正常進行
,而在{}內的替換有可能會被阻止
。
set a 123tcl語言的執行順序是:先分組,再替換,最後執行=>123puts "$a"#會替換
=>123puts #不會替換
=>$a
花括號中不准替換
雙引號和花括號的作用都是分組,但是不同之處在於是否支援替換
語句的執行分3步走:
1、首先分組
2、其次替換
3、最後執行
$的作用是變數引導符,在字串中如果要替換某個變數,可能還需要用
{}來界定變數的起始和終點
分組有三種方法:空格,雙引號和花括號
另外轉義符\在這裡的作用是提公升或者消除字元的能力
TCL語言筆記 TCL中的String命令
字串是 tcl 中的基本資料型別,所以有大量的字串操作命令。乙個比較重要的問題就是模式匹配,通過模式匹配將字串與指定的模式 格式 相匹配來進行字串的比較 搜尋等操作。命 令 說 明 string bytelengthstr 返回用於儲存字串的位元組數。string compare?nocase?le...
TCL語言筆記 TCL中的數學函式
函式名說明 舉例abs arg 取絕對值 set a 10 a 10 set a expr abs a a 10 acos arg 反余弦set p 1.0 set a expr acos p a 0.0 asin arg 反正弦atan arg 反正切atan2 比值取反正切 ceil arg 返...
TCL基本語法
目錄 1.輸出 2.賦值 3.替換 tcl使用 puts 關鍵字來作為輸出語句 puts hello結果 hello puts nonewline hello hello 結果 hello hellotcl 使用 set 關鍵字來定義引數,不必指定變數值的型別,因為變數 值的型別僅一種 字串。為變數...