Tcl egy nagyon egyszerű programozási nyelv. Ha már programoztaelőtt meg lehet tanulni elég ahhoz, hogy érdekes Tclprogramokat írjon néhány órán belül. Ez az oldal gyors áttekintést nyújta TCL főbb jellemzőiről. Miután elolvasta ezt akkor valószínűlegképes kezdeni írásban egyszerű TCL szkriptek a saját; azonban werecommend, hogy konzultáljon egy a sok rendelkezésre álló TCL könyvek többösszetett információkat.
Alapvető szintaxis
a Tcl szkriptek newlinesor pontosvesszőkkel elválasztott parancsokból állnak., A parancsok mindegyikének ugyanaz az alapformája illusztráltaz alábbi példában:
expr 20 + 10
Ez a parancs kiszámítja a 20 és 10 összegét, és visszaadja az eredményt, 30.Kipróbálhatja ezt a példát, a többi pedig ezen az oldalon bytyping őket egy TCL alkalmazás, mint például a tclsh
; aftera parancs befejeződik, tclsh
kiírja az eredményt.
minden Tcl parancs egy vagy több szóközök által elválasztott szóból áll., Ebben a példában négy szó van: expr
,20
, +
és 10
. Az első szó egy parancs neve, a többi szó pedig a parancshoz tartozik. Minden Tcl parancs szavakból áll, de különbözőa parancsnokok eltérő módon kezelik érveiket.A expr
parancs az összes Argumentumát aritmetikai kifejezésként kezeli, kiszámítja a kifejezés eredményét, majd karakterláncként adja vissza az eredményt., A expr
parancsban a szavakra való felosztás nem jelentős: ugyanúgy hivatkozhat ugyanarra a parancsra, mint a
expr 20+10
azonban a legtöbb parancs esetében a szószerkezet fontos, külön célra használt eachword.
minden Tcl parancs visszatéreredményeket. Ha egy parancsnak nincs értelmes eredménye, akkor ennek eredményeként visszaadja az anempty karakterláncot.
változók
Tcl lehetővé teszi, hogy tárolja az értékeket változók és használja az értékeket laterin parancsokat. A set
parancs írásra és olvasásra használható., Például a következő parancs módosítja ax
változót, hogy a 32
:
set x 32
értéket tartsa vissza. Egy változó értékét a set
hivatkozással lehet elolvasni, csak egyetlen dokumentummal:
set x
nem kell változókat deklarálni a Tcl-ben: egy változó létrejönautomatikusan az első beállításkor. A Tcl változók nem rendelkeznektípusok: bármely változó bármilyen értéket tartalmazhat.,
egy változó értékének egy parancsban történő használatához használja a variablesubstitution-t, mint a következő példában:
expr $x*3
amikor a $
egy parancsban megjelenik, a TCL a betűket és az azt követő számjegyeket változó névként kezeli, és a név helyett a változó értékét helyettesíti. Ebben a példában a expr
parancs által kapott tényleges argumentum32*3
(feltételezve, hogy a x
változó az előző példában volt beállítva)., A változó helyettesítést használhatjabármely parancs szót, vagy akár többször is egy Wordben:
set cmd exprset x 11$cmd $x*$x
Parancshelyettesítés
az egyik parancs eredményét egy másik argumentumban is használhatjacommand. Ezt nevezik parancshelyettesítésnek:
set a 44set b
amikor a beágyazott Tcl parancsként.A TCL kiértékeli a beágyazott parancsot, és az eredményt a zárójeles szöveg helyett a zárójelbe helyezett parancsra cseréli., A fenti példában a második argumentum
set
parancs lesz176
.
idézetek és zárójelek
a kettős idézőjelek lehetővé teszik a szóközöket tartalmazó szavak megadását. Forexample, fontolja meg a következő szkriptet:
set x 24set y 18set z "$x + $y is "
e három parancs kiértékelése után változó z
willhave az érték 24 + 18 is 42
. Az idézetek között minden átkerült a set
parancsra, mint egyetlen szóra., Vegye figyelembe, hogy a) parancs és változó helyettesítések kerülnek végrehajtásra az idézőjelek közötti szövegen, és B) maguk az idézőjelek nem kerülnek át a parancsba.Ha az idézőjelek nem lennének jelen, akkor a set
parancs 6 argumentumot kapott volna, ami hibát okozott volna.
a göndör zárójelek egy másik módot nyújtanak az információk szavakba történő csoportosítására.,Ezek különböznek az idézetektől, mivel a göndör zárójelek közötti szövegben nincs helyettesítés:
set z {$x + $y is }
Ez a parancs beállítja a z
változót a”$x + $y is
“értékre.
Control structures
a Tcl egy komplett vezérlőstruktúrát biztosít, beleértve a feltételes végrehajtásra, hurkolásra és eljárásokra vonatkozó parancsokat is. A Tcl controlstructures csak olyan parancsok, amelyek a TCL szkripteket argumentumként veszik figyelembe.,Az alábbi példa létrehoz egy tcl eljárást, melynek neve power
, amely egy egész teljesítményre emeli az alapot:
proc power {base p} { set result 1 while {$p > 0} { set result set p } return $result}
Ez a szkript egyetlen parancsból áll, proc
. Aproc
parancs három argumentumot tartalmaz: egy eljárás nevét, az argumentumnevek listáját, valamint az eljárás testét, amely isa TCL script. Vegye figyelembe, hogy az első sor végén lévő göndör merevítő és az utolsó sorban lévő göndör záróelem között minden átkerülverbatim proc
egyetlen argumentumként., Aproc
parancs létrehoz egy új TCL parancsot nevűpower
hogy takestwo érvek. Ezután hivatkozhat apower
parancsokhozmint a következő:
power 2 6power 1.15 5
amikor meghívásra kerül, az eljárási testület kiértékelésre kerül.Míg a szervezet végrehajtja, az argumentumokat változókként érheti el:base
tartja az első argumentumot, és p
visszatartja a másodikat.,
apower
eljárás három Tcl parancsot tartalmaz:set
,while
ésreturn
. Awhile
parancs a procedure.It két argumentumot, egy kifejezést ($p > 0
) és egy abody-t, ami egy másik TCL szkript. A while
commandevaluates a kifejezés argumentum segítségével a szabályok hasonlóak a C programozási nyelv, s ha az eredmény igaz (nulla) akkor innentől kezdve értékeli a szervezetben, mint egy Tcl script., Ezt a folyamatot újra és újra megismétli, amíg végül a kifejezés hamis (nulla) értékűvé nem válik. Ebben az esetben a while
parancs szorzata az eredményérték base
, majd csökken p
. Amikorp
eléri a nullát, az eredmény abase
kívánt teljesítményt tartalmazza. Areturn
parancs aresult
változóval való kilépést eredményezi.
honnan származnak a parancsok?,
mint láttuk, az összes érdekes funkciók TCL arerepresented parancsok. A kijelentések parancsok, a kifejezések parancsok végrehajtásával, a vezérlőszerkezetek parancsok,az eljárások pedig parancsok.
a Tcl parancsok három módon jönnek létre. A parancsok egy csoportjamagában a TCL tolmács biztosítja. Ezeket a parancsokat hívjáképített parancsok. Ezek közé tartozik az összes parancs, amit eddig látott, és még sok más (lásd alább). A beépített parancsokminden TCL alkalmazásban jelen vannak.
a parancsok második csoportja a Tcl extensionmechanizmus segítségével jön létre., A Tcl API-kat biztosít, amelyek lehetővé teszik egy új parancs létrehozásátírással parancs eljárás C vagy C++, amely végrehajtjaa parancsot. Ezután regisztrálja a parancseljárást a theTcl tolmácsnál úgy, hogy elmondja a TCL-nek annak a parancsnak a nevét, amelyet a theprocedure végrehajtja. A jövőben, amikor az adott névhasználják a TCL parancs, Tcl hívja a parancs eljárás toexecute a parancsot. A builtin parancsok is végrehajtásra kerülnekugyanaz a kiterjesztési mechanizmus; parancsfolyamatuk egyszerűen a Tcl könyvtár része.,
amikor a TCL-t egy alkalmazáson belül használják, az alkalmazás beépíti kulcsfunkcióit a TCL-be a kiterjesztési mechanizmus segítségével. Így a setof elérhető TCL parancsok alkalmazástól alkalmazásig változnak.Számos kiterjesztési csomag is beépíthetőbármely Tcl alkalmazáshoz. Az egyik legismertebb kiterjesztés a Tk, amely erőteljes létesítményeket biztosít a grafikus felhasználói felületek építéséhez. Más bővítmények objektum-orientált programozást,adatbázis-hozzáférést, Több grafikus képességet,valamint számos egyéb funkciót biztosítanak., A TCL egyik legnagyobb előnye az integrációs alkalmazások építéséhez az, amellyel bővíthető új funkciók beépítésére vagy más erőforrásokkal való kommunikációra.
a parancsok harmadik csoportja a proc
paranccsal létrehozott eljárásokból áll, mint például a fent létrehozott power
parancs. Általában a kiterjesztéseket alacsonyabb szintre használjákolyan funkciók, ahol a C programozás kényelmes, az eljárásokat pedig magasabb szintű funkciókhoz használják, ahol könnyebb írni a Tcl-ben.,
egyéb jellemzők
a Tcl számos más parancsot is tartalmaz a következő példákban használt parancsok mellett. Itt található a beépített Tcl parancsok által támogatott néhány funkció mintavevője:
- több vezérlőszerkezet, például
if
,for
,foreach
ésswitch
. - String manipuláció, beleértve egy erős rendszeres expresszionmatching lehetőség. Tetszőleges hosszúságú húrok átkerülhetnekés manipulálni ugyanolyan könnyen, mint a számok.,
- I / O, beleértve a lemezen lévő fájlokat, a hálózati aljzatokat és az eszközöket, mint pl. soros portok. A Tcl különösen egyszerű szolgáltatásokat nyújtsocket kommunikáció az Interneten keresztül.
- Fájlkezelés: a Tcl számos parancsot biztosít a fájlnevek manipulálására, a fájl attribútumok olvasására és írására,fájlok másolására, fájlok törlésére, könyvtárak létrehozására stb.
- subprocess meghívás: más alkalmazásokat is futtathat a
exec
paranccsal, valamint kommunikálhat velük futás közben., - listák: a Tcl egyszerűvé teszi az értékek (listák)gyűjteményeinek létrehozását és különböző módokon történő manipulálását.
- tömbök: a nevek és értékek tetszőleges karakterlánc-értékeiből álló strukturált értékeket hozhat létre.
- idő-és dátummanipuláció.
- események: a Tcl lehetővé teszi a szkriptek számára, hogy megvárják bizonyos események bekövetkezését, például: eltelt idő vagy a bemeneti adatok rendelkezésre állása a hálózati aljzaton.,
példák
- egy egyszerű parancssori eszköz
- egy egyszerű hálózati szerver
Tutorial
van egy kis ideje, hogy ásni egy kicsit tovább a nyelvet?A Tcl Tutorialegy nagyszerű módja annak, hogy többet megtudjon a Tcl különböző parancsairól ésnyelvi funkciók.