Tcl on hyvin yksinkertainen ohjelmointi kieli. Jos olet ohjelmoinut ennen, voit oppia tarpeeksi kirjoittaa mielenkiintoisia Tclprograms muutamassa tunnissa. Tämä sivu tarjoaa nopean overviewof tärkeimmät ominaisuudet Tcl. Kun luet tämän, sinulla todennäköistä pystyy kirjoittamaan yksinkertaisia Tcl-komentosarjat oman, kuitenkin, werecommend, että otat yhteyttä yksi monista saatavilla Tcl kirjoja morecomplete tietoja.
perussyntaksi
Tcl-skriptit koostuvat newlinesor-puolipisteiden erottamista komennoista., Komennot kaikilla on sama perusmuoto illustratedby seuraava esimerkki:
expr 20 + 10
Tämä komento laskee summan 20 ja 10, ja palauttaa tuloksen, 30.Voit kokeilla tätä esimerkkiä ja kaikki muut tämän sivun bytyping ne Tcl sovelluksen, kuten tclsh
; jälkeen komento on valmis, tclsh
tulostaa sen tulos.
jokainen TCL-komento koostuu yhdestä tai useammasta välilyönneistä erotellusta sanasta., Tässä esimerkissä on neljä sanaa: expr
,20
, +
ja 10
. Se firstword on nimi command ja muut sanat ovat argumentsto, että komento. Kaikki Tcl-komennot koostuvat sanoista, mutta eri kommandit käsittelevät argumenttejaan eri tavalla.expr
– komento käsittelee kaikki itsarguments yhdessä aritmeettinen lauseke, laskee seurausta thatexpression, ja palauttaa tuloksen merkkijonona., expr
komento jako sanoja ei ole merkittäviä: voit vain aseasily ovat vedonneet sama komento kuin
expr 20+10
Kuitenkin useimmat komennot sanan rakenne on tärkeää, eachword käytetään eri tarkoitukseen.
kaikki Tcl: n komennot palauttavat tulokset. Jos komennolla ei ole merkityksellistä tulosta, se palauttaa sen seurauksena anemptyn merkkijonon.
Muuttujat
Tcl avulla voit tallentaa arvoja muuttujiin ja käyttää arvoja laterin komentoja. set
komentoa käytetään kirjoittamiseen ja lukemiseen., Esimerkiksi seuraava komento muuttaa muuttujanx
pitää arvo 32
:
set x 32
– komento palauttaa uuden muuttujan arvo. Voit lukea thevalue muuttujan vetoamalla set
vain singleargument:
set x
Sinun ei tarvitse julistaa muuttujia Tcl: muuttuja on createdautomatically ensimmäinen kerta, kun se on asetettu. Tcl-muuttujilla ei ole tiedostotyyppejä: millä tahansa muuttujalla voi olla mikä tahansa arvo.,
käyttää muuttujan arvo on komento, käyttää variablesubstitution kuten seuraavassa esimerkissä:
expr $x*3
Kun $
näkyy komennon, Tcl käsittelee lettersand numeroa seuraavat sen muuttujan nimi, ja korvikkeet thevalue muuttujan sijasta nimi. Tässä esimerkki, theactual argumentti saamat expr
komento on32*3
(olettaen, että muuttuja x
oli setas edellisessä esimerkissä)., Voit käyttää muuttujan korvaaminen millään sanalla mitään komentoa, tai jopa useita kertoja muutaman sanan:
set cmd exprset x 11$cmd $x*$x
Komento korvaaminen
Voit käyttää myös seurausta yhden komennon argumentti anothercommand. Tätä kutsutaan command substitution:
set a 44set b
Kun sisäkkäisenä Tcl-komento.Tcl arvioi sisäkkäisen komennon ja korvaa sen tuloksen liittämällä komennon murtotekstin tilalle., Vuonna theexample edellä toinen argumentti toisen
set
commandwill olla 176
.
lainausmerkit ja henkselit
tuplalainaukset mahdollistavat välilyöntejä sisältävien sanojen täsmentämisen. Esimerkiksi, harkita seuraava komentosarja:
set x 24set y 18set z "$x + $y is "
sen Jälkeen, kun nämä kolme komentoja arvioidaan muuttuja z
willhave arvo 24 + 18 is 42
. Kaiken välillä quotesis siirtynyt set
komento kuin yhden sanan., Huomaa, että(a) komento ja muuttujan vaihtoja suoritetaan tekstin välinen lainauksia, ja (b) lainaukset eivät itse komennolle.Jos lainausmerkkejä ei olisi, set
komento havereceived 6 argumenttia, jotka olisivat aiheuttaneet virheen.
Curly henkselit tarjoavat toisen tavan ryhmitellä tietoa sanoiksi.,Ne ovat erilaisia lainauksia, että vaihdot ovat performedon tekstin välillä aaltosulkeita:
set z {$x + $y is }
Tämä komento asettaa muuttujan z
arvo”$x + $y is
”.
Ohjaus rakenteet
Tcl tarjoaa täydellisen valikoiman ohjaus rakenteet, mukaan lukien commandsfor ehdollinen suoritus, kiehkura, ja menettelyjä. Tcl controlstructures ovat vain komentoja, jotka ottavat TCL-skriptit argumentteina.,Alla oleva esimerkki luo Tcl menettelyä kutsutaan power
,joka herättää pohja kokonaisluku teho:
proc power {base p} { set result 1 while {$p > 0} { set result set p } return $result}
Tämä skripti koostuu yhdestä komento proc
. proc
komento ottaa kolme argumenttia: nimi menettely,luettelo argumentti nimet, ja kehon menettely, joka isa Tcl-skripti. Huomaa, että kaikki välillä kihara ahdin tällä vuoden ensimmäisellä rivillä ja kihara ahdin viimeisellä rivillä on passedverbatim että proc
kuin yhden argumentin., proc
komento luo uuden Tcl-komennon nimeltä power
että takestwo argumentteja. Voit sitten vedota power
kanssa commandslike seuraavasti:
power 2 6power 1.15 5
Kun power
vedotaan, menettely kehon on arvioitu.Kun keho on suorittamista, se voi käyttää sen perusteluja, koska muuttujat:base
pitää ensimmäistä väitettä ja p
willhold toinen.,
kehon power
menettely sisältää kolme Tcl-komentoja:set
, while
ja return
. while
komento tekee suurimman työn menettelyä.Se vie kaksi argumenttia, lauseke ($p > 0
) ja ruumis, joka on toinen Tcl-skripti. while
commandevaluates sen ilme argumentti sääntöjen avulla vastaavat ofthe C-ohjelmointikielellä ja jos tulos on tosi (nollasta poikkeava) thenit arvioi kehon Tcl-skripti., Se toistaa tätä prosessia Andoverissa, kunnes lopulta ilmaisu arvioi vääräksi (nollaksi). Tässä casethe elin while
komento kerrotaan tulos valueby base
ja sitten pienenee p
. Kunp
saavuttaa nolla tulos sisältää haluamasi tehobase
. return
komento aiheuttaa procedureto exit-arvo muuttuja result
koska menettely’sresult.
mistä käskyt tulevat?,
kuten olet nähnyt, kaikki kiinnostavat ominaisuudet TCL arerepresented by commands. Lausekkeet ovat komentoja, lausekkeet arvioidaan suorittamalla komentoja,ohjausrakenteet ovat komentoja ja menettelyt ovat komentoja.
Tcl-komennot luodaan kolmella tavalla. Tcl-tulkin itsensä toimittama komentoryhmä. Nämä komennot ovat calledbustin komentoja. Ne sisältävät kaikki komennot, jotka olet nähnyt tähän mennessä, ja paljon muuta (katso alla). Builtin-komennot ovat läsnä kaikissa Tcl-sovelluksissa.
toinen komentoryhmä luodaan Tcl-laajennusmekanismin avulla., Tcl tarjoaa APIs, jonka avulla voit luoda uuden komennon kirjoittamalla komentomenettelyn C-tai C++ – kielellä, joka toteuttaa komennon. Voit sitten rekisteröidä komento menettely theTcl tulkki kertomalla Tcl nimi komento, että menettelystä toteuttaa. Jatkossa, kun TCL-komennossa käytetään kyseistä nimenomaista nimeis-komentoa, Tcl kutsuu komentomenettelyäsi komennon tarkistamiseksi. Builtin-komennot on myös toteutettu käyttämällä tätä samaa laajennusmekanismia; niiden komentomenettelyt ovat yksioikoisia Tcl-kirjastosta.,
Kun Tcl käytetään sisällä sovellus, sovellus incorporatesits keskeisiä piirteitä Tcl käyttää laajennus mekanismi. Näin ollen saatavilla olevat TCL-komennot vaihtelevat sovelluksesta toiseen.On myös olemassa lukuisia laajennuspaketteja, jotka voidaan sisällyttää mihin tahansa Tcl-sovellukseen. Yksi tunnetuimmista laajennuksista on Tk, joka tarjoaa tehokkaat tilat graafisten käyttötilojen rakentamiselle. Muut laajennukset tarjoavat olio-ohjelmointi,tietokantojen käytön, enemmän graafisia ominaisuuksia,ja erilaisia muita ominaisuuksia., Yksi Tcl: n suurimmista eduista integraatiosovellusten rakentamisessa on se, että sitä voidaan laajentaa sisällyttämään uusia ominaisuuksia tai muita resursseja.
kolmas ryhmä komentoja koostuu menettelyjä luotu kanssa proc
komento, esimerkiksi power
komento loi edellä. Tyypillisesti, laajennuksia käytetään alemman levelfunctions, jossa C-ohjelmointi on kätevä, ja menettelyt on käyttää korkeamman tason toimintoja, joissa se on helpompi kirjoittaa Tcl.,
Muut ominaisuudet
Tcl sisältää monia muita komentoja lisäksi niitä käytetään asetuksiin esimerkkejä. Tässä on sampleri joitakin featuresprovided, jonka sisäänrakennettu Tcl-komentoja:
- Enemmän hallita rakenteiden, kuten
if
,for
,foreach
jaswitch
. - Jousimanipulointi, mukaan lukien tehokas säännöllinen ekspressionmatointilaitos. Mielivaltaisen pituiset kielet voidaan ohittaa aroundand manipuloida yhtä helposti kuin numerot.,
- i / O, mukaan lukien levyllä olevat tiedostot, verkkopistokkeet ja laitteet, kuten sarjaportit. Tcl tarjoaa erityisen yksinkertaiset tilat Internet-yhteydelle.
- tiedostonhallinta: Tcl tarjoaa useita komentoja tiedostojen nimien käsittelyyn, tiedostojen lukemiseen ja kirjoittamiseen, tiedostojen kopiointiin,tiedostojen poistamiseen, hakemistojen luomiseen ja niin edelleen.
- Subprocess alkurukous: voit käyttää myös muita sovelluksia
exec
komento ja kommunikoida heidän kanssaan, kun he suorittaa., - listat: Tcl: n avulla on helppo luoda arvokokoelmia (listoja)ja manipuloida niitä monin tavoin.
- matriisit: voit luoda strukturoituja arvoja, jotka koostuvat nimi-valuepaireista ja joilla on mielivaltaiset merkkijonoarvot nimille ja arvoille.
- aika-ja päivämäärämanipulaatio.
- tapahtumat: TCL sallii skriptien odottaa tiettyjä tapahtumia, kuten kulunut aika tai syöttötietojen saatavuus verkkopistorasiassa.,
Esimerkkejä
- yksinkertainen komentorivi työkalu
- yksinkertainen verkko-palvelin
Opetusohjelma
On aikaa kaivaa hieman syvemmälle kieli?Tcl Tutorialis erinomainen tapa oppia lisää Tcl: n eri komennoista ja kielitoiminnoista.