Sprog

Tcl er et meget simpelt programmeringssprog. Hvis du har programmeretfør kan du lære nok at skrive interessante Tclprogrammer inden for få timer. Denne side giver et hurtigt oversigtaf hovedfunktionerne i TCL. Efter at have læst dette, vil du probablybe i stand til at begynde at skrive enkle Tcl scripts på din egen; dog, werecommend, at du konsulterer en af de mange tilgængelige Tcl bøger for morecomplete oplysninger.

Grundlæggende syntaks

Tcl-scripts består af kommandoer adskilt af Ne .linesor semikoloner., Kommandoer har alle den samme grundlæggende form illustratedby det følgende eksempel:

expr 20 + 10

Denne kommando beregner summen af 20-og 10-og returnerer resultatet, 30.Du kan prøve dette eksempel og alle de andre på denne side bytyping dem til en Tcl-program som f.eks. tclsh; aftera kommando er færdig, tclsh udskriver resultatet.

hver TCL-kommando består af et eller flere ord adskilt af mellemrum., I dette eksempel er der fire ord: expr20 + og 10. Det første ord er navnet på en kommando, og de andre ord er argumentertil denne kommando. Alle TCL-kommandoer består af ord, men forskelligekommandoer behandler deres argumenter forskelligt.Kommandoen expr behandler alle sine argumenter sammen som et aritmetisk udtryk, beregner resultatet af det udtryk og returnerer resultatet som en streng., I exprkommando opdeling i ord ikke er stor: du kan bare aseasily har påberåbt sig den samme kommando som

expr 20+10

Men for de fleste af de kommandoer ordet struktur er vigtig, med eachword anvendes til forskellige formål.

alle TCL-kommandoer returneresultater. Hvis en kommando ikke har noget meningsfuldt resultat, returnerer den anempty streng som resultat.

variabler

Tcl giver dig mulighed for at gemme værdier i variabler og bruge værdierne laterin-kommandoer. Kommandoen set bruges til at skrive og readvariables., For eksempel følgende kommando ændrer variabelx for at holde den værdi 32:

set x 32

kommandoen returnerer new værdien af variablen. Du kan læse thevalue af en variabel ved at påkalde set med kun en singleargument:

set x

Du behøver ikke at erklære variabler i Tcl: en variabel, der er createdautomatically første gang det er set. Tcl-variabler har ikke typer: enhver variabel kan indeholde enhver værdi.,

for At bruge værdien af en variabel i en kommando, skal du bruge variablesubstitution som i det følgende eksempel:

expr $x*3

Når $ vises i en kommando, Tcl behandler lettersand cifre efter det som en variabel navn, og erstatter thevalue af variablen i stedet for navnet. I dette eksempel, theactual argument modtaget af expr kommando vil være32*3 (forudsat at denne variabel x var setas i det foregående eksempel)., Du kan bruge variablen substitution inany ord af enhver kommando, eller endda flere gange i et ord:

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

Command substitution

Du kan også bruge resultatet af en kommando i et argument for at anothercommand. Dette kaldes command substitution:

set a 44set b 

Når som en indlejret Tcl-kommandoen.Tcl evaluerer den indlejrede kommando og erstatter dens resultat iden omsluttende kommando i stedet for den bracketed tekst., Ieksempel over det andet argument af den anden set kommandovil være 176.

citater og seler

dobbelt citater giver dig mulighed for at angive ord, der indeholder mellemrum. Forexample, skal du overveje følgende script:

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

Efter disse tre kommandoer, der er evalueret variabel z har værdien 24 + 18 is 42. Alt mellem citateroverføres til kommandoen set som et enkelt ord., Bemærk at (a) kommando og variable substitutioner udføres på teksten mellem citaterne, og (B) citaterne selv overføres ikke til kommandoen.Hvis citaterne ikke var til stede, ville kommandoen set havemodtaget 6 argumenter, hvilket ville have forårsaget en fejl.

krøllede seler giver en anden måde at gruppere information i ord.,De er forskellige fra citater i, at ingen erstatninger er performedon teksten mellem krøllede parenteser:

set z {$x + $y is }

Denne kommando indstiller variabel z til værdien”$x + $y is “.

kontrolstrukturer

Tcl indeholder et komplet sæt kontrolstrukturer, herunder kommandoer til betinget udførelse, looping og procedurer. Tcl controlstructures er blot kommandoer, der tager Tcl scripts som argumenter.,Det nedenstående eksempel opretter en Tcl-procedure som kaldes power,som rejser en base til en heltalspotens:

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

Dette script består af en enkelt kommando, proc. Kommandoenproc tager tre argumenter: navnet på en procedure,en liste over argumentnavne og procedurens krop, som isa TCL script. Bemærk, at alt mellem krøllet parentes på theend af den første linje og krøllet parentes på den sidste linje er passedverbatim til proc, som et enkelt argument., Kommandoen procopretter en ny TCL-kommando ved navn power, der tager to argumenter. Du kan derefter påberåbe power med commandslike følgende:

power 2 6power 1.15 5

Når power påberåbes, at den procedure, kroppen er evalueret.Mens kroppen udfører, kan den få adgang til sine argumenter som variabler:base vil holde det første argument og p vil holde det andet.,

brødtekst power procedure indeholder tre Tcl kommandoer:set while og return. while kommando gør det meste af arbejdet af proceduren.Det tager to argumenter, et udtryk ($p > 0) og legeme, som er et andet Tcl-script. Kommandoen while evaluerer sit udtryksargument ved hjælp af regler, der ligner C-programmeringssproget, og hvis resultatet er sandt (noneroero), evaluerer det kroppen som et TCL-script., Det gentager denne proces igen og igen, indtil udtrykket til sidst evalueres til falsk (nul). I dette tilfældekroppen af kommandoen while multiplicerede resultatværdien ved base og derefter aftager p. Nårpnår nul, indeholder resultatet den ønskede effekt afbase. Kommandoen return får proceduren til at afslutte med værdien af variabel result som procedurens resultat.

hvor kommer kommandoer fra?,

som du har set, er alle de interessante funktioner i Tcl repræsenteret af kommandoer. Udsagn er kommandoer, udtryk ervurderet ved at udføre kommandoer, kontrolstrukturer er kommandoer,og procedurer er kommandoer.

Tcl-kommandoer oprettes på tre måder. En gruppe kommandoerleveres af TCL-tolken selv. Disse kommandoer kaldesbuiltin kommandoer. De omfatter alle de kommandoer, du har set hidtil og mange flere (se nedenfor). De indbyggede kommandoertil stede i alle TCL applikationer.

den anden gruppe af kommandoer oprettes ved hjælp af TCL udvidelsenmekanisme., Tcl leverer API ‘ er, der giver dig mulighed for at oprette en ny kommandoved at skrive en kommandoprocedure i C eller C++, der implementerer kommandoen. Derefter registrerer du kommandoproceduren hos TCL-tolk ved at fortælle TCL navnet på den kommando, som theprocedure implementerer. I fremtiden, når det pågældende navnbruges til en TCL-kommando, vil Tcl kalde din kommandoprocedure for at udføre kommandoen. De indbyggede kommandoer implementeres også ved hjælp af denne samme udvidelsesmekanisme; deres kommandoprocedurer er simpelthen en del af TCL-biblioteket.,

Når Tcl bruges i et program, inkorporerer applikationendens nøglefunktioner i Tcl ved hjælp af udvidelsesmekanismen. Setof tilgængelige TCL-kommandoer varierer således fra applikation til applikation.Der er også mange udvidelsespakker, der kan inkorporeresind i enhver TCL-applikation. En af de mest kendte udvidelser er tk, som giver kraftfulde faciliteter til opbygning af grafiske brugergrænseflader. Andre udvidelser giver objektorienteret programmering, databaseadgang,mere grafiske funktioner og en række andre funktioner., En af Tcl ‘ s største fordele ved at bygge integrationsapplikationer er den lejlighed, hvormed den kan udvides til at inkorporere nye funktioner ellerkommunikere med andre ressourcer.

den tredje gruppe af kommandoer består af procedurer oprettet med kommandoen proc, såsom kommandoen power oprettet ovenfor. Typisk bruges udvidelser til lavere niveaufunktioner, hvor C-programmering er praktisk, og procedurer anvendestil funktioner på højere niveau, hvor det er lettere at skrive i TCL.,

Andre funktioner

Tcl indeholder mange andre kommandoer ud over dem, der anvendes i thepreceding eksempler. Her er en sampler af nogle af de featuresprovided af den indbyggede Tcl kommandoer:

  • Mere kontrol strukturer, som f.eks. if forforeach og switch.
  • String manipulation, herunder en kraftig regelmæssig ekspressionmatching facilitet. Vilkårlige længder kan passeres rundtog manipuleret lige så let som tal.,
  • I / O, herunder filer på disk, netværksstik og enheder som serielle porte. Tcl giver særligt enkle faciliteter tillokkekommunikation via Internettet.
  • filhåndtering: Tcl giver flere kommandoer til manipulationfilnavne, læsning og skrivning af filattributter,kopiering af filer, sletning af filer, oprettelse af mapper og så videre.
  • subprocess invocation: du kan køre andre programmer med kommandoenexec og kommunikere med dem, mens de kører.,
  • lister: Tcl gør det nemt at oprette samlinger af værdier (lister)og manipulere dem på forskellige måder.
  • Arrays: du kan oprette strukturerede værdier bestående af name-valuepairs med vilkårlige strengværdier for navne og værdier.
  • tid og dato manipulation.
  • begivenheder: Tcl giver scripts mulighed for at vente på, at bestemte begivenheder opstår, f.eks. en forløbet tid eller tilgængeligheden af inputdata på en netværksstik.,

eksempler

  • et simpelt kommandolinjeværktøj
  • en simpel netværksserver

Tutorial

Har du tid til at dykke lidt længere ind i sproget?TCL Tutorialis en fantastisk måde at lære mere om Tcl ‘ s forskellige kommandoer og sprogfunktioner.

Share

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *