TCL語言筆記:TCL基礎語法
一、什麼是TCL
Tcl 全稱是 Tool command Language。它是一個基於字串的命令語言,基礎結構和語法非常簡單,易於學習和掌握。
Tcl 語言是一個解釋性語言,所謂解釋性是指不象其他高階語言需要通過編譯和聯結,它象其他 shell 語言一樣,直接對每條語句順次解釋執行。
Tcl 資料型別簡單。對 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 並賦值 =>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
3.替換
(1):$
“$”符實現引用替換,用以引用引數值。上面也用到過
Tcl 對替換隻進行一遍解釋,對巢狀的”$”不於理睬。
set foo oo =>oo set dollar foo =>foo set x $$dollar =>$foo ;#只解釋一次,將“$dollar”用 dollar 的值(foo)代替, ;#命令等效為 set x {$foo},大括阻止替換。 set x {$foo} =>$foo set 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 =>123 puts "$a" #會替換 =>123 puts {$a} #不會替換 =>$a
三、總結
TCL語言的執行順序是:先分組,再替換,最後執行
花括號中不準替換
雙引號和花括號的作用都是分組,但是不同之處在於是否支援替換
語句的執行分3步走:
1、首先分組
2、其次替換
3、最後執行
$的作用是變數引導符,在字串中如果要替換某個變數,可能還需要用{}來界定變數的起始和終點
分組有三種方法:空格,雙引號和花括號
另外轉義符\在這裡的作用是提升或者消除字元的能力