Tcl/Tk-opetusohjelma

โšก ร„lykรคs yhteenveto

TCL (Tool Command Language) on John Osterhoutin vuonna 1989 kehittรคmรค merkkijonopohjainen skripti- ja proseduraalinen kieli, jota kรคytetรครคn laajalti kรคyttรถliittymissรค, nopeissa prototyypeissรค ja muissa vastaavissa tehtรคvissรค.pingja testaus, jossa jokaista arvoa kรคsitellรครคn oletusarvoisesti merkkijonona.

  • ๐Ÿงต TCL-mรครคritelmรค: Merkkijonoihin perustuva skripti- ja proseduraalinen kieli, jossa kaikki on oletusarvoisesti merkkijonoa.
  • โ–ถ ๏ธ toteutus: Suorita Tcl-skriptejรค tclsh-komentotulkin kautta Windows tai Linuxissa, tiedostoissa, joiden tiedostopรครคte on .tcl.
  • ๐Ÿ”„ Korvaushoito: Tukee komentojen (hakasulkeet), muuttujien ($) ja kenoviivan korvaamista.
  • ๐Ÿ“ฆ Muuttujat: Luotu set-komennolla, luettu $-komennolla, poistettu unset-komennolla ja tarkistettu info exists -komennolla.
  • โž— Ilmaisut: expr-komento laskee aritmeettisia, relaatio-, loogisia, bittikohtaisia โ€‹โ€‹ja muita operaattoreita.
  • ๐Ÿ”€ Virtauksen hallinta: Tarjoaa if/else-, switch-, while- ja for-operaattorit pรครคtรถksentekoon ja silmukoihin.

TCL/Tk-opetusohjelma

Mikรค on TCL?

TCL on shell-sovellus, joka lukee TCL-komennon vakiosyรถtteestรค tai tiedostosta ja antaa halutut tulokset.

TCL on merkkijonopohjainen skriptikieli ja myรถs proseduraalinen kieli. Sen loi ensimmรคisen kerran John Osterhout vuonna 1989. Kehittรคmisen tarkoitusping Tรคmรค kieli on helppo upottaa sovelluksiin. Kieltรค kรคytetรครคn yleisesti kรคyttรถliittymissรค ja testauksessa. Esimerkiksi nopeassa prototyyppien kehittรคmisessรคping, Testaus tietokantavuorovaikutus jne. TCL:ssรค oletusarvoisesti kaikki on merkkijonoa.

Kuinka suorittaa TCL

TCL-koodia voi suorittaa kahdella tavalla:

  1. Windows pohjainen sovellus lรถytyy tรครคltรค tcltutor exe-tiedosto
  2. Linux-pohjainen sovellus

In Linux interaktiivinen tulkki, voimme suorittaa TCL-komentosarjat alla

Pรครคstรคksesi interaktiiviseen TCL-istuntoon, suorita seuraava komento

TCL opetusohjelma: Tool Command Language

TCL-skriptit

TCL-ohjelmalla tulee olla .tcl-tunniste. Jokainen UNIX/LINUXin komentosarja alkaa TCL-kuoren polulla

#!/usr/bin/tclsh

Esimerkki: -

#!/usr/bin/tclsh
Puts "Hello World"
Script execution:-
$ chmod +x helloworld.tcl
$ ./helloworld.tcl

ulostulo: Hei maailma

TCL:ssรค komentoa โ€Putsโ€ kรคytetรครคn viestien tulostamiseen konsoliin. Puts-komennon syntaksi on alla.

laittaa ?-nonewline? ?channelId? merkkijonon

  • Ei uusi rivi: Tรคmรค valinnainen parametri estรครค rivinvaihdon oletuskomennon. Se asettaa rivinvaihdon jokaiseen merkkijonoon
  • Channelid: Tรคtรค parametria kรคytetรครคn vakiotulokanavalle (stdin) ja vakiolรคhtรถkanavalle (stdout).

Esim:-

%puts "Hello World"
% Hello World
%puts stdout  "Hello World"
% Hello World

TCL-korvaustyyppi

TCL:ssรค on kolmenlaisia โ€‹โ€‹korvauksia

  1. Komennon korvaaminen
  2. Muuttuva korvaus
  3. Kenoviivan vaihto

Opiskellaan yksi kerrallaan

Komennon korvaaminen

Hakasulkeita kรคytetรครคn komentojen korvaamiseen.

Esimerkki: -

% puts [expr 1*3]
% 3

Tรคssรค hakasulkeissa oleva komento lasketaan ensin. Tulokset palautetaan. โ€exprโ€-funktiota kรคytetรครคn aritmeettisen laskutoimituksen suorittamiseen.

Muuttuva korvaus

TCL suorittaa muuttujan korvaamisen avulla $ merkki.

Esimerkki: -

#!/usr/bin/tclsh
set  a  10
puts  a
puts  $a

Tรครคllรค luomme muuttujan nimeltรค "a" ja asetamme sille arvon "10".

  • laittaa a: Se tulostaa merkkijonon "a", mutta ei "a":n arvoa konsoliin
  • laittaa $a: Se tulostaa 'a':n arvon konsoliin

Suoritetaan ja tarkistetaan se. Saat tulosteen alla olevan mukaisesti.

$ ./substitution.tcl

a

10

Kenoviivan vaihto

Tcl:ssรค kenoviivaa kรคytetรครคn esca-merkinnรคn suorittamiseen.ping erikoismerkkejรค sekรค pitkien komentojen jakamiseen useille riveille. Mikรค tahansa kenoviivaa vรคlittรถmรคsti seuraava merkki pysyy voimassa ilman korvausta. Alla olevassa esimerkissรค nรคet, ettรค erikoismerkki โ€ โ€ jรครค kenoviivan jรคlkeen.

Varmistetaan tรคmรค esimerkillรค

#!/usr/bin/tclsh

puts "This  is my  \"car\""

$ ./backslashsubstitution.tcl
This is my "car"

HUOMAUTUS: -Kommentoimiseen kรคytetรครคn mitรค tahansa merkkijonoa TCL:ssรค "#". Tclsh shell -komento ohittaa kaikki "#":n jรคlkeiset merkit.

TCL-muuttuja

Muuttuja on tunniste, joka sisรคltรครค arvon. Toisin sanoen muuttuja on viittaus tietokoneen muistiin, johon arvo on tallennettu.

Muuttujat luodaan "set-komennolla", ja kaikki muuttujien nimet ovat kirjainkoolla. Se tarkoittaa hei, hei, hei kaikki ovat erilaisia โ€‹โ€‹TCL:ssรค. Katso esimerkkiรค isot ja pienet kirjaimet vaihtelevasta muuttujasta.

% set  name  Techoit
% set  Name  Technoit_1
% set  NAME  Technoit_2

Lรคhtรถ: -

% puts $name
% Technoit

%puts  $Name
%Technoit_1

%puts $NAME
%Technoit_2

TCL-muuttujien luominen

Jos haluat luoda muuttujia TCL:ssรค, sinun on kรคytettรคvรค "aseta" komento

Aseta 10

Muuttujan arvon saamiseksi on kรคytettรคvรค "$" symbolia kuten

% laittaa $a

% 10

Joten saamme muuttujan 'a' arvoksi 10.

TCL-komentotiedot ovat olemassa

Komentoa โ€setโ€ kรคytetรครคn muuttujien luomiseen ja lukemiseen yllรค esitetyllรค tavalla. Komentoa unset kรคytetรครคn muuttujan tuhoamiseen. Komento โ€info existsโ€ palauttaa arvon 1, jos varName on olemassa muuttujana (tai taulukon alkiona) nykyisessรค kontekstissa, muuten palauttaa arvon 0 (katso esimerkki alla).

TCL:ssรค on erilaisia โ€‹โ€‹โ€infoโ€-komentoja, kuten โ€info on olemassaโ€, โ€info functionsโ€, โ€info globalโ€ ja niin edelleen. Tรคssรค nรคemme esimerkin โ€info on olemassaโ€ -komennosta.

Esim:-

% set a 20
% puts $a
% 20
% puts [info exists a]
% 1
% unset a
%puts [info exists a]
% 0

Erilaiset henkselit ja niiden kรคyttรคytyminen

{} -> Kiharat henkselit

TCL:n aaltosulkeet ryhmittelevรคt sanoja argumenteiksi. Aaltosulkuja kรคytetรครคn mรครคrittelemรครคn lohko, jonka suorittaminen on lykรคtty โ€“ toisin sanoen se voidaan suorittaa nykyisellรค rivillรค olevan komennon Jร„LKEEN. Aaltosulkujen sisรคllรค olevat merkit vรคlitetรครคn komennolle tรคsmรคlleen sellaisenaan kuin ne on kirjoitettu.

Muutama huomio muistettavana

  1. Muuttujien korvaaminen ei ole sallittu {} aaltosulkeissa
  2. Sitรค kรคytettiin luettelotietotyypin luomiseen

Esimerkki: -

% set x 10
% puts {$x}
% $x

%set number {1 2 3 4 5} -> Tรคssรค numero on luettelotietotyyppi

% laittaa $numeron

%1 2 3 4 5

[] -> hakasulkeet

Hakasulkeita kรคytetรครคn sisรคkkรคisten komentojen luomiseen. Yksinkertaisesti sanottuna yhden komennon tuloste annetaan argumenttina toiselle komennolle. Hakasulkeita kรคytetรครคn mรครคrittelemรครคn lohko, joka suoritetaan ENNEN nykyisen rivin muuta komentoa, ja tulos sijoitetaan riville.

Esim: -

% set x 10
% puts "y : [set y [set x 10]]"
%y : 10
% puts "x : $x"
%x : 10

() -> pyรถreรคt olkaimet

Tรคtรค komentoa kรคytetรครคn taulukon tietotyypin luomiseen ja myรถs operaattorin ensisijaisuuden osoittamiseen.

% set a(1) 10
% set a(2) 20

Tรคssรค "a" on taulukko, jonka arvot ovat 10 ja 20. Katso alla komennot avainten, avainarvoparien ja taulukon arvojen tulostamiseksi.

% puts [array get a] ->  To print key value pairs we use this command
% 1 10 2 20
% puts [array names a]  -> To print only keys
% 1 2
% puts $a(1)   -> To print first value of array
% 10
% puts $a(2)  -> To print second value of array
% 20

Tulostettaessa taulukon a "N:s" arvoa kรคytetรครคn Puts $a(N)

TCL-komentorivin argumentit

Komentoriviltรค komentosarjalle vรคlitetyt tiedot tunnetaan argumenteina. Tcl-komentosarjan komentoriviargumenttien mรครคrรค vรคlitetรครคn yleisenรค muuttujana arg. Tcl-komentosarjan nimi vรคlitetรครคn komentosarjalle globaalina muuttujana argv0, ja loput komentorivin argumentit vรคlitetรครคn luettelona sisรครคn argv.

TCL:ssรค on 3 ennalta mรครคritettyรค muuttujaa, kuten

$argc   -> indicates the number of arguments passed to the script

$argv   -> indicates list of arguments

$argv0  -> indicates the name of script

Esim:-

arg-script.tcl
#!/usr/bin/tclsh
puts   "number of arguments passed to the scripts : $argc"
puts  "list of arguments are passed to the script: $argv"
puts  "the name of scripts is: $argv0"
$ ./arg-script.tcl  10 20 30

ulostulo:-

  • Skripteille vรคlitettyjen argumenttien mรครคrรค: 3
  • Argumenttien luettelo vรคlitetรครคn skriptille: 10 20 30
  • Skriptin nimi on: arg-script.tcl

TCL-lauseke ja OperaTor

Lauseke konstruoidaan operandeista ja operaattoreista. Se lasketaan komennolla โ€exprโ€. Operatorit arvioidaan ensisijaisuuden ja assosiatiivisuuden perusteella. TCL-kielessรค on sisรครคnrakennetut operaattorit, kuten alla

Operator-luokka Symboli Ensisijaisuus/assosiaatio
Aritmeettinen OperaTor + โ€“ * / % Vasemmalta oikealle
omainen OperaTor == != < > <= >= Vasemmalta oikealle
looginen OperaTor && || ! Vasemmalta oikealle
biteittรคin OperaTor & | ^ ~ Vasemmalta oikealle
Kolmiosainen OperaTor ?: Oikealta vasemmalle
Shift OperaTor << >> Vasemmalta oikealle
Merkkijonojen vertailu OperaTor yhtรคlรถ ne Vasemmalta oikealle
Potenssiinkorotus OperaTor ** Vasemmalta oikealle
Lista OperaTor Vuonna ni Vasemmalta oikealle

Aritmeettinen OperaTor

TCL-lauseke koostuu operandien, operaattoreiden ja sulkeiden yhdistelmรคstรค. Katsotaanpa esimerkkiรค TCL:n aritmeettisista operaattoreista

+ Lisรครค kaksi tai useampi operandi

Esim:-

%set a 10
%set b 20
%puts [expr $a + $b]
30

โ€“ Subtrackaksi tai useampia operandeja

Esim:-

%set a 20
%set b 10
%puts [expr $a - $b]
10

*Kerro kaksi tai useampi operandi

%set a 20
%set b 10
%puts [expr $a * $b]
200

/ Jaa osoittaja osoittajalla

%set a 20
%set b 10
%puts [expr $a / $b]
2

% Modulus-operaattori jakaa osoittajan de-osoittajalla, mutta palauttaa muistutuksen

%set a 20
%set b 10
%puts [expr $a % $b]
0

omainen OperaTor

Tarkistaa, onko vasemman operandin arvo suurempi kuin oikean operandin arvo. Jos kyllรค, niin ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0.

%set a 20
%set b 10
%puts [expr $a > $b]
1

Tarkista, onko vasemman operandin arvo pienempi kuin oikean operandin arvo. Jos kyllรค, niin ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 10
%set b 20
%puts [expr $a < $b]
1

>= Tarkistaa onko vasemman operandin arvo suurempi tai yhtรค suuri kuin oikean operaandin arvo, jos kyllรค, niin ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 20
%set b 10
%puts [expr $a >= $b]
1

<= Tarkistaa onko vasemman operandin arvo pienempi tai yhtรค suuri kuin oikean operandin arvo, jos kyllรค, niin ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 20
%set b 10
%puts [expr $a <= $b]
0

!= Tarkistaa ovatko kahden operandin arvot samat vai eivรคt, jos arvot eivรคt ole yhtรค suuret, ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 20
%set b 10
%puts [expr $a != $b]
1

== Tarkistaa ovatko kahden operandin arvot yhtรค suuret vai eivรคt, jos kyllรค โ€‹โ€‹niin ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 20
%set b 10
%puts [expr $a == $b]
0

looginen OperaTor

&& Jos molemmat operandit eivรคt ole nollia, ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 20
%set b 10
%puts [expr $a && $b]
1

|| Jos jokin kahdesta operandista on muu kuin nolla, ehdosta tulee tosi ja palauttaa 1 muuten palauttaa 0

%set a 0
%set b 10
%puts [expr $a || $b]
1

! Kรคytetรครคn minkรค tahansa lausekkeen tuloksen kรครคntรคmiseen. Tรคssรค tulosteessa nรคet, ettรค 'a':n arvo on nyt muuttunut arvosta 1 nollasta. Kun taas 'b':n arvo on muuttunut arvosta 0 nollasta 1.

%set a 0
%set b 1
%puts [expr !$a]
1
%puts [expr !$b]
0

biteittรคin OperaTor

& (bittisesti ja) suorita bitti bitiltรค -toiminto ja noudata alla olevaa taulukkoa.

A B A & B
0 0 0
0 1 0
1 1 1
1 0 0

Esim:-

%set A 10
%set B 20

Follow the sequence to convert decimal to binary number
128 64 32 16 8 4 2 1
10 binary equivalents will be
128 64 32 16 8 4 2 1  ร   0 0 0 0 1 0 1 0
20 binary equivalents will be
128 64 32 16 8 4 2 1  ร   0 0 0 1 0 1 0 0

So now as per above tabular rules

A & B will be 0 0 0 0 0 0 0 0

| (bitti kerrallaan tai) suorita bitti bitiltรค -toiminto ja noudata alla olevaa taulukkoa

A B A | B
0 0 0
0 1 1
1 1 1
1 0 1

Esim:-

%set A 10
%set B 20

Follow the sequence to convert decimal to binary number
128 64 32 16 8 4 2 1
10 binary equivalents will be
128 64 32 16 8 4 2 1  ร   0 0 0 0 1 0 1 0
20 binary equivalents will be
128 64 32 16 8 4 2 1  ร   0 0 0 1 0 1 0 0

So now as per above tabular rules

A | B will be 0 0 0 1 1 1 1 0

^ (bittittรคin poissulkeva tai) suorita bitti bitiltรค -toiminto ja noudata alla olevaa taulukkoa

A B A^B
0 0 0
0 1 1
1 1 0
1 0 1

Esim:-

%set A 10
%set B 20

Follow the sequence to convert decimal to binary number
128 64 32 16 8 4 2 1
10 binary equivalents will be
128 64 32 16 8 4 2 1  ร   0 0 0 0 1 0 1 0
20 binary equivalents will be
128 64 32 16 8 4 2 1  ร   0 0 0 1 0 1 0 0

So now as per above tabular rules

A ^ B will be 0 0 0 1 1 1 1 0 ร  30

~ (bittikohtainen negaatio) -operaattori muuttaa kunkin 1:stรค 0:ksi ja 0:sta 1:ksi, seuraa taulukkoa viitteenรค

A ~A
0 1
1 0
%set A 7
%puts [expr ~$A]
-8

Kolmiosainen Operator (?:)

Syntaksi on

condition-expression?  expression_1: expression_2

Jos ehto-exp on tosi, exp1 arvioidaan ja tulos palautetaan. Jos cond-exp on epรคtosi, exp2 arvioidaan ja sen tulos palautetaan. Esimerkissรคmme exp1 on tosi, koska A:n arvo on suurempi kuin 6.

%set A 7
%set result [expr $A > 6 ? true : false]
%puts $result
true

Shift OperaTor

Shift operaattoria merkitรครคn joko << vasemman siirtooperaattorilla tai >> oikealla siirtooperaattorilla. << vasemmalle siirtooperaattorille vasemman operandin arvoa siirretรครคn vasemmalle oikean operandin mรครคrittรคmรคn bittien lukumรครคrรคn verran.

%set A 7
%set result [expr $A << 2]
%puts $result

>> right shift -operaattorille vasen operandiarvo siirretรครคn oikealle oikean operandin mรครคrittรคmรคn bittimรครคrรคn verran.

%set A 7
%set result [expr $A >> 2]
%puts $result

Merkkijonojen vertailu OperaTor

Merkkijonojen vertailuoperaattori vertaa molempien operandien arvoja. Jos operandin arvo on sama, se palauttaa arvon 1, muuten palauttaa arvon 0. Esimerkissรค sekรค A:n ettรค B:n arvo on 7, joten tulos on 1.

Esim:-

%set A 7
%set B 7
%set result [expr $A eq $B]
%puts $result
1

Ei (jos molempien operandien arvot ovat erilaiset, se palauttaa 1 muuten palauttaa 0)

%set A 7
%set B 8
%set result [expr $A ne $B]
%puts $result
1

Eksponenttioperaattori

Pow () ja ** ovat molemmat samat. Se palauttaa aina kelluvan arvon.

** osoittaa tehon haluttuun operandiin.

Esim:-

%set A 7
%set result [expr $A ** 2]
%puts $result
49

Lista OperaTor

Jos vaadittu arvo lรถytyy mรครคritellystรค listasta, se palauttaa arvon 1, muuten palauttaa arvon 0. Esimerkissรค arvo 1 on muuttujassa 'a', joten se palauttaa arvon 1.

set a {1 2 3}
if {1 in $a} {
puts "ok"
} else {
puts "fail"
}
Output: ok

ni, jos vaadittu arvo lรถytyy mรครคritellystรค luettelosta, se palauttaa 0, muuten palauttaa 1.

Esim:-

set a {1 2 3}
if {1 ni $a} {
puts "ok"
} else {
puts "fail"
}
Output: fail

TCL-virtauksen ohjaus ja pรครคtรถksenteko

Ohjelman kulun muuttamiseen kรคytetรครคn erilaisia โ€‹โ€‹vuonohjaus- ja pรครคtรถksentekokomentoja. Ohjelman suoritukset alkavat aina lรคhdetiedoston ylhรครคltรค alas.

Jos lauseke koostuu Boolen lausekkeesta, jota seuraa yksi tai useampi lause.

Jos โ€ฆ -lauseke

Syntaksi:-

jos expr ?niin? kehon

jos expr arvioidaan tosi, niin komentokappale suoritetaan.

Esim:-

set age 10

if {$age < 20} {
puts "Age is less than 20"
}

Output: Age is less than 20

Jos โ€ฆ muuten -lauseke

Syntaksi :-

Jos ilmaisu ? sitten body_1 muu body_2

Jos lausekkeen arvo on tosi, se palauttaa body_1, muuten se palauttaa body_2

Esim:-

set age 10

if {$age < 20} {
puts "Age is less than 20"
} else {
Puts "Age is greater than 20"
}

output: Age is less than 20

Sisรคkkรคinen if..else lauseke

Se tarkoittaa yhtรค if tai else..if -lauseketta voidaan laittaa toiseen if tai else..if -lauseeseen.

Syntaksi:-

If  {expression_1} {
Body_1
If {expression_2} {
Body_2
}
}

Esim:-

set a 10
set b 20

if {$a == 10} {
# if expression_1 is true then it will go to expression_2
if {$b == 20} {
#if expression_2 is true then it will print the below string
puts "value of a is 10 and b is 20"
}
}

o/p: value of a is 10 and b is 20

Vaihda lausunto

Switch-kรคsky mahdollistaa muuttujan tasa-arvon testaamisen arvoluetteloa vastaan. Se arvioi arvoluettelon ja palauttaa arvioinnin tuloksen. Jos arvot eivรคt tรคsmรครค, palautetaan oletusarvot.

esimerkki:

#!/usr/bin/tclsh

# switch_cmd.tcl

set domain x
switch $domain {

    x { puts "x" }
    y { puts "y" }
    z { puts "z" }
    default { puts "unknown" }
}

Sisรคkkรคinen kytkin

Sisรคkkรคinen kytkinlause tarkoittaa kytkinkรคskyn sisรคllรค olevaa kytkinlausetta.

Syntaksi :-

switch <switchingstring1> {
   <matchstring1> {
      body1
      switch <switchingstring2> {
        <matchstring2> {
           body2
         }
          ...
    switch <switchingstringN> {
          <matchStringN> {
           bodyN
         }
      }
   }

esimerkkiSeuraavassa esimerkissรค a:n arvo on 100, ja samalla koodilla vaihdamme lausekkeen toiseen b:n arvoon, joka on 200. Tulos nรคyttรครค sekรค a:n ettรค b:n arvon.

#!/usr/bin/tclsh

set a 100
set b 200

switch $a {
   100 {
     puts "The value of a is $a"
     switch $b {
        200 {
           puts "The value of b is $b"
        }
     }
   }
}

Lรคhtรถ: -

A:n arvo on 100

B:n arvo on 200

TCL Loop -lause

Silmukkalauseke mahdollistaa lausekkeen tai lausekkeiden ryhmรคn suorittamisen useita kertoja. Tcl tarjoaa seuraavanlaisia โ€‹โ€‹loo-lauseitaping lausuma.

Vaikka komento

Kun annettu ehto on tosi, lause tai lauseryhmรค toistaa, jotka ovat silmukan rungossa.

Syntaksi:

While  {condition} {
    Statements
}

Esim:-

#!/usr/bin/tclsh

Set a 10

While {$a < 12} {
    Puts "a is $a"
    incr a
}

Lรคhtรถ: -

a on 10

a on 11

Yllรค olevassa esimerkissรค kรคytetรครคn sisรครคnrakennettua komentoa โ€incrโ€. Se tarkoittaa, ettรค 'a':n arvoa kasvatetaan yhdellรค, kunnes se saavuttaa maksimiarvon (<12).

Komentoa varten

Se suorittaa lausekkeiden sarjan useita kertoja laskurin arvon perusteella. Laskuriarvoa suurennetaan tai pienennetรครคn automaattisesti silmukan jokaisen toiston aikana.

Syntaksi :-

For {start} {test} {next} {
Body
}

esimerkkiAlla olevassa esimerkissรค 'i':n arvoksi asetetaan 0 ja sitรค kasvatetaan, kunnes arvo on < 5.

#!/usr/bin/tclsh

for {set i 0} {$i < 5} {incr i} {
put $i
}

Lรคhtรถ: -

0
1
2
3
4

UKK

Kyllรค. Tcl:รครค kรคytetรครคn edelleen automatisointiin, testaukseen, EDA-tyรถkaluihin, verkkolaitteiden skriptaukseen ja sovellusten upottamiseen. Expect-tyรถkalu ja monet testikehykset perustuvat Tcl:รครคn, vaikka se on harvinaisempaa uusissa verkkosovelluksissa.

Tcl on skriptikieli, kun taas Tk on sen graafinen tyรถkalupakki kรคyttรถliittymien rakentamiseen. Yhdessรค Tcl/Tk:na ne mahdollistavat alustojen vรคlisten tyรถpรถytรคsovellusten kirjoittamisen yksinkertaisilla komennoilla.

expr-komento laskee matemaattisia ja loogisia lausekkeita Tcl:ssรค. Koska Tcl kรคsittelee kaikkea merkkijonona, expr-komentoa tarvitaan aritmeettisten laskutoimitusten, vertailujen ja totuusarvojen suorittamiseen.

Tekoรคlyavustajat voivat luoda Tcl-koodia, selittรครค komentoja, kuten set, puts ja expr, muuntaa pseudokoodia Tcl-muotoon ja debugata syntaksivirheitรค.ping aloittelijat oppivat kielen nopeammin.

Kyllรค. Tekoรคlytyรถkalut voivat kรครคntรครค Tcl-skriptejรค kielille, kuten Python tai Perl, karttaping komentoja ja ohjausrakenteita, vaikka kehittรคjien tulisi tarkistaa tulosteen oikeellisuus.

Tiivistรค tรคmรค viesti seuraavasti: