Language

Tcl er en veldig enkel programmering språk. Hvis du har programmedbefore, du kan lære nok til å skrive interessant Tclprograms innen et par timer. Denne siden gir en rask oversiktover de viktigste funksjonene i Tcl. Etter å ha lest dette, vil du probablybe i stand til å begynne å skrive enkle Tcl skript på egen hånd, men werecommend at du rådfører deg med en av de mange tilgjengelige Tcl bøker for morecomplete informasjon.

Grunnleggende syntaks

Tcl skript består av kommandoer som er skilt med newlinesor semikolon., Kommandoer har alle de samme grunnleggende form illustratedby følgende eksempel:

expr 20 + 10

Denne kommandoen beregner summen av 20 og 10 og returnerer resultatet, 30.Du kan prøve ut dette eksemplet, og alle de andre på denne siden bytyping dem til en Tcl-program, slik som tclsh; aftera kommandoen er ferdig, tclsh skriver ut resultatet.

Hver Tcl kommando består av ett eller flere ord separatedby mellomrom., I dette eksemplet er det fire ord: expr,20, +, og 10. Den firstword er navnet på en kommando, og den andre ord er argumentsto at kommandoen. Alle Tcl kommandoer består av ord, men differentcommands behandle sine argumenter på en annen måte.expr – kommandoen behandler alle itsarguments sammen som et aritmetisk uttrykk, regner ut et resultat av thatexpression, og returnerer resultatet som en string., I exprkommando inndeling i ord ikke signifikante: du kan bare aseasily har startet den samme kommandoen som

expr 20+10

Imidlertid for de fleste kommandoer ordet struktur er viktig, med eachword brukt for et tydelig formål.

Alle Tcl kommandoer returnresults. Hvis en kommando er ikke noe meningsfylt resultat så er det tilbake anempty streng som resultat.

Variabler

Tcl gir deg mulighet til å lagre verdier i variabler og bruke de verdiene som senere samme kommandoer. set kommando som brukes til å skrive og readvariables., For eksempel, følgende kommando endrer variabelx for å holde verdien 32:

set x 32

– kommandoen returnerer den nye verdien til variabelen. Du kan lese thevalue av en variabel ved å ta i bruk set med bare en singleargument:

set x

Du trenger ikke å deklarere variabler i Tcl: en variabel er createdautomatically første gang det er satt. Tcl variabler ikke havetypes: en variabel kan inneholde en hvilken som helst verdi.,

Hvis du vil bruke verdien av en variabel i en kommando, bruk variablesubstitution som i følgende eksempel:

expr $x*3

Når en $ vises i en kommando, Tcl behandler lettersand sifre etter det som et variabelnavn, og erstatter thevalue av variable i stedet for navn. I dette eksemplet, theactual argument mottatt av expr kommandoen32*3 (forutsatt at variabelen x var setas i forrige eksempel)., Du kan bruke variabel substitusjon inany ordet av noen kommando, eller til og med flere ganger i løpet av et ord:

set cmd exprset x 11$cmd $x*$x

– Kommandoen substitusjon

Du kan også bruke resultatet av en kommando i et argument for å anothercommand. Dette kalles command substitusjon:

set a 44set b 

Når en som en nestet Tcl-kommandoen.Tcl vurderer nestede kommando og erstatter sine resultat intothe vedlagt kommando i stedet for hakeparentes tekst., I theexample over det andre argumentet for andre set commandwill være 176.

Sitater og bukseseler

Dobbelt anførselstegn tillater deg å spesifisere ord som inneholder mellomrom. Forexample, bør du vurdere følgende script:

set x 24set y 18set z "$x + $y is "

Etter disse tre kommandoene er evaluert variabel z willhave verdien 24 + 18 is 42. Alt mellom quotesis gått til set kommando som et enkelt ord., Merk at(a) kommando og variable erstatninger er utført på tekst betweenthe sitater, og (b) sitatene i seg selv er ikke sendes til kommando.Hvis sitatene var ikke til stede, set kommando ville havereceived 6 argumenter, noe som ville ha forårsaket en feil.

krøllparentes gir en annen måte å gruppere informasjon i ord.,De er forskjellige fra sitater i at ingen erstatninger er performedon teksten mellom krøllparentes:

set z {$x + $y is }

Denne kommandoen angir variable z til verdien»$x + $y is «.

Kontroll strukturer

Tcl gir et komplett sett av kontroll strukturer inkludert commandsfor betinget utførelse, løkker, og prosedyrer. Tcl controlstructures er bare kommandoer som tar Tcl skript som argumenter.,Eksemplet nedenfor skaper en Tcl prosedyre som kalles power,som reiser en base til et heltall strøm:

proc power {base p} { set result 1 while {$p > 0} { set result set p } return $result}

Dette skriptet består av en enkelt kommando, proc. proc – kommandoen tar tre argumenter: navnet på en prosedyre,en liste over argument navn, og kroppen av prosedyren, som isa Tcl-skript. Vær oppmerksom på at alt mellom krøllete spenne på seher av første linje og krøllete spenne på den siste linjen er passedverbatim til proc som et enkelt argument., prockommandoen oppretter en ny Tcl kommando som heter power som takestwo argumenter. Deretter kan du bruke power med commandslike følgende:

power 2 6power 1.15 5

Ved power startes, prosedyren kroppen er evaluert.Mens kroppen er å utføre det kan få tilgang til de argumenter som variabler:base vil holde det første argumentet og p willhold den andre.,

kroppen av power prosedyren inneholder tre Tcl kommandoer:set, while, og return. while – kommandoen gjør det meste av arbeidet i prosedyren.Det tar to argumenter, et uttrykk ($p > 0) og abody, som er en annen Tcl-skript. while commandevaluates sitt uttrykk argument ved hjelp av regler som ligner de ofthe C programmeringsspråk og hvis resultatet er sann (ikke-null) thenit vurderer kroppen som en Tcl-skript., Det gjentar denne prosessen over andover til slutt uttrykk evaluerer til usann (null). I denne casethe kroppen av while kommando multipliseres resultatet valueby base og deretter reduserer p. Nårp når null resultatet inneholder ønsket effekt avbase. return – kommandoen fører til at procedureto avslutt med verdien av variabelen result som prosedyren’sresult.

Hvor skal kommandoer kommer fra?,

Som du har sett, alle de interessante funksjonene i Tcl arerepresented av kommandoer. Uttalelser og kommandoer, uttrykk areevaluated ved å utføre kommandoer, kontroll strukturer er kommandoer,og prosedyrer er kommandoer.

Tcl kommandoer er opprettet på tre måter. En gruppe av commandsis gitt av Tcl tolk selv. Disse kommandoene er calledbuiltin kommandoer. De inkluderer alle kommandoene youhave sett så langt, og mange flere (se nedenfor). Den innebygde commandsare til stede i alle Tcl-programmer.

Den andre gruppen av kommandoer som er opprettet ved hjelp av Tcl extensionmechanism., Tcl gir Api som lar deg opprette en ny commandby å skrive en kommando prosedyre i C eller C++ som implementsthe kommando. Du registrerer deg deretter kommandoen prosedyre med theTcl tolk ved å fortelle Tcl navnet på kommandoen som theprocedure redskaper. I fremtiden, når som bestemt nameis brukes for en Tcl kommando, Tcl ringe din kommando prosedyre toexecute kommandoen. Builtin kommandoer er også implementert usingthis samme skyvemekanismen; deres kommando prosedyrer er simplypart av Tcl bibliotek.,

Når Tcl brukes i et program, programmet incorporatesits viktige funksjoner i Tcl ved hjelp av skyvemekanismen. Dermed setof tilgjengelig Tcl kommandoene varierer fra program til program.Det er også mange extension pakker som kan være incorporatedinto noen Tcl-programmet. En av de mest kjente utvidelser er Tk,som gir kraftige fasiliteter for å bygge grafisk userinterfaces. Andre utvidelser gi objekt-orientert programmering,database tilgang, flere grafiske evner,og en rekke andre funksjoner., En av Tcl’sgreatest fordeler for å bygge integrering programmer er theease som det kan være utvidet til å inkludere nye funksjoner orcommunicate med andre ressurser.

Den tredje gruppen av kommandoer består av prosedyrer laget withthe proc – kommandoen, for eksempel powerkommando opprettet ovenfor. Vanligvis, utvidelser brukes for lavere-levelfunctions der C-programmering er praktisk, og prosedyrer som er usedfor høyere nivå funksjoner hvor det er lettere å skrive i Tcl.,

Andre funksjoner

Tcl inneholder mange andre kommandoer i tillegg til de som er brukt i thepreceding eksempler. Her er en sampler av noen av de featuresprovided av den innebygde Tcl kommandoer:

  • Mer kontroll strukturer, slik som if, for,foreach, og switch.
  • String manipulasjon, inkludert en kraftig vanlige expressionmatching anlegget. Vilkårlig lengde strenger kan være bestått aroundand manipulert like enkelt som tall.,
  • I/O, inkludert filer på disk, nettverk stikkontakter, og enheter som serielle porter. Tcl gir spesielt enkel fasiliteter forsocket kommunikasjon over Internett.
  • filbehandling: Tcl gir flere kommandoer for manipulatingfile navn, lesing og skriving filattributter, kopiere filer,slette filer, opprette kataloger og så videre.
  • Subprocess åpningsbønn: du kan kjøre andre programmer medexec kommando og kommunisere med dem mens de kjører.,
  • Lister: Tcl gjør det enkelt å opprette samlinger av verdier (lister)og manipulere dem på en rekke måter.
  • Matriser: du kan opprette strukturert verdier som består av navn-valuepairs med vilkårlig streng verdier for navn og verdier.
  • Tid og dato manipulasjon.
  • Arrangementer: Tcl kan skript for å vente på visse hendelser skal skje, slik asan medgått tid eller tilgjengeligheten av input data på en nettverksboks.,

Eksempler

  • En enkel kommando linje verktøy
  • En enkel server nettverk

Veiledning

Har noen tid til å fordype deg litt mer inn i språket?Den Tcl Tutorialis en flott måte å lære mer om Tcl er ulike kommandoer andlanguage funksjoner.

Share

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *