Nyelv

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 setparancs 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., Aprocparancs 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:basetartja 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 abasekí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 powerparancs. Á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 és switch.
  • 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 aexec 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.

Share

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük