Mikä on TCL?
TCL on kuori sovellus, joka lukee TCL-komento sen vakiosyötteestä tai tiedostosta ja antaa toivottuja tuloksia.
TCL on kielipohjainen skriptauskieli ja myös menettelykieli. Sen loi ensimmäisen kerran John Osterhout vuonna 1989. Tämän kielen kehittämisen tarkoitus on helppo upottaa inti () – sovelluksiin. Kieltä käytetään yleisesti Guisissa ja testeissä. Esimerkiksi nopea prototyyppaus, tietokannan vuorovaikutuksen testaus jne., TCL oletuksena kaikki on merkkijono.,
Miten Toteuttaa TCL
On olemassa kaksi tapaa suorittaa TCL-koodia
- Windows pohjainen sovellus on saatavilla täällä tcltutor exe-tiedosto
- Linux-pohjainen sovellus
Linux-interaktiivinen tulkki, voimme suorittaa TCL-skriptejä kuten alla.
käyttää TCL interaktiivinen istunto, suorita seuraava komento
TCL-skriptejä
TCL-ohjelman pitäisi olla .,TCL-laajennus. Jokainen komentosarja UNIX / Linuxissa alkaa TCL shell path
#!/usr/bin/tclsh
Esimerkki:
#!/usr/bin/tclshPuts "Hello World"Script execution:-$ chmod +x helloworld.tcl$ ./helloworld.tcl
Lähtö: Hello World
TCL, ”Tuo” – Komentoa käytetään tulostaa viestejä konsoliin .puts-syntaksi on alle
puts?- nonewline? ?channelId? string
- Nonewline: Tämä valinnainen parametri estää rivinvaihtomerkkiä oletuksena komento. Se asettaa uuden rivin jokaiselle merkkijonolle
- Channelid: tämä parametri, jota käytetään standardisyöttökanavassa (stdin) ja standardilähtökanavassa (stdout).,
Ex:-
%puts "Hello World"% Hello World%puts stdout "Hello World"% Hello World
TCL Korvaaminen tyyppi
On olemassa kolme erilaista vaihtoja TCL
- Komento korvaaminen
- Muuttuja korvaaminen
- Kenoviiva korvaaminen
opiskellaan yksi kerrallaan,
– Komento korvaaminen
hakasulkeita käytetään komento korvaaminen.
Esimerkki:
% puts % 3
Tässä komento välillä hakasulkeissa on arvioitava ensin. Tulokset palautetaan.”expr”, jota käytetään aritmeettisen laskennan suorittamiseen.,
muuttuva substituutio
TCL suorittaa muuttuvan substituution $ – merkin avulla.
Esimerkki:
#!/usr/bin/tclshset a 10puts aputs $a
– Täällä meillä on luoda muuttuja nimeltä ”a” ja aseta arvo ”10” se.
- tuo : Se tulostaa merkkijonon ”” mutta ei arvoa ” a ”- konsoli
- tuo $a : Se tulostaa arvon ” a ” – konsoli
oletetaan, toteuttaa ja todentaa sen. Saat tuotoksen alla.,
$ ./substitution.tcl
Kenoviiva korvaaminen
Tcl, kenoviiva on käytetty paeta erikoismerkkejä sekä levittää pitkiä komentoja poikki useita rivejä. Mikä tahansa hahmo heti perääntymisen jälkeen seisoo korvauksetta. Alla olevassa esimerkissä, voit nähdä, erityinen merkki ” ”, jää jälkeen kenoviiva.
katsotaanpa tarkistaa tämän esimerkin
#!/usr/bin/tclshputs "This is my \"car\"$ ./backslashsubstitution.tclThis is my "car"
HUOMAUTUS: -kommentoida tahansa merkkijono TCL ”#” käytetään. Kaikki merkit ”#” jälkeen jätetään huomiotta tclsh shell-komennolla.,
TCL Muuttuja
– muuttuja on tunniste, joka omistaa arvo. Toisin sanoen muuttuja on viittaus tietokoneen muistiin, johon arvo tallennetaan.
muuttujat luodaan ”set-komennolla” ja kaikki muuttujat ovat tapausherkkiä. Se tarkoittaa Hei, Hei, Hei kaikki ovat erilaisia TCL. Katso esimerkki tapauksessa herkkä muuttuja.,
% set name Techoit% set Name Technoit_1% set NAME Technoit_2
tuloksena on:
% puts $name% Technoit%puts $Name%Technoit_1%puts $NAME%Technoit_2
Luominen TCL Muuttujat
Voit luoda muuttujia TCL, sinun täytyy käyttää ”set” – komento
Set 10.
saada muuttujan arvon täytyy käyttää ”$” symbolia, kuten
% laittaa $a
% 10 –
saamme Siis muuttujan arvon ” a ” 10.
TCL-Komentoa Info olemassa,
”set” – komentoa käytetään luoda ja lukea muuttujat kuten edellä. Katkaistua komentoa käytetään muuttujan tuhoamiseen., ”Info exist” – komento palauttaa 1, jos varName on olemassa muuttujana (tai matriisielementtinä) nykyisessä kontekstissa, muuten palauttaa 0. (KS. esimerkki alla).
Ex:-
% set a 20% puts $a% 20% puts % 1% unset a%puts % 0
Eri henkselit ja niiden käyttäytyminen
{} -> Kihara henkselit
Kihara henkselit TCL group sanat yhdessä tulla argumentteja. Curly henkseleitä käytetään määrittämään lohko, joka on lykätty-toisin sanoen, se voidaan ajaa jälkeen loput komennon nykyisen linjan. Henkselien sisällä olevat hahmot siirretään komentoon täsmälleen niin kuin on kirjoitettu.,
Joitakin kohtia muistaa,
- Muuttuja korvaaminen ei ole sallittua sisällä {} henkselit
- Sitä käytetään luoda luettelon tiedot tyyppi
Esimerkki :
% set x 10% puts {$x}% $x
%asetettu numero {1 2 3 4 5} -> Täällä on useita on lista tietotyyppi
%asettaa $määrä
%1 2 3 4 5
-> square henkselit
hakasulkeita käytetään luoda sisäkkäisiä komento. Yksinkertaisesti sanottuna yhden komennon ulostulo siirtyi argumenttina toiselle komennolle., Hakasulkeilla määritellään lohko, joka ajetaan ennen muuta komentoa nykyisellä linjalla, ja tulos korvataan riviin.
Ex: –
% set x 10% puts "y : ]"%y : 10% puts "x : $x"%x : 10
() -> pyöreä henkselit
Tätä komentoa käytetään luoda array tiedot tyyppi ja myös ilmoittaa operaattori edelle.
% set a(1) 10% set a(2) 20
Tässä ”a” on taulukko, jossa arvo 10 ja 20. Katso alla komentoja tulostaa avaimet, avain arvo paria ja arvot array.,
print ”Nnen” arvo array, käytämme Asettaa $a(N)
TCL komentorivin argumentteja
tietoja välitetään skripti komentoriviltä tunnetaan argumentteja. TCL-skriptin komentoriviargumenttien lukumäärä välitetään maailmanlaajuisena muuttujana argc . Nimi Tcl-skripti on kulunut kirjoitus kuin globaali muuttuja argv0 , ja loput komentoriviargumentteja ovat läpäisseet luettelo argv.,
TCL on 3 ennalta määriteltyjä muuttujia, kuten
$argc -> indicates the number of arguments passed to the script$argv -> indicates list of arguments$argv0 -> indicates the name of script
Ex:–
arg-script.tcl#!/usr/bin/tclsh$ ./arg-script.tcl 10 20 30tuloksena on:
- Useita argumenttien skriptejä: 3
- – Listan argumentteja on kulunut kirjoitus: 10 20 30
- skriptin nimi on : arg-script.tcl
TCL Ilme ja Operaattori
Ilme on valmistettu operandeja ja operaattorit. Se arvioidaan ”expr” – komennolla. Operaattorit arvioidaan ennakkotapausten ja assosiatiivisuuden perusteella., TCL-kieli on sisäänrakennettu toimijoiden kuten alla.
Aritmeettinen Operaattori
TCL ilme koostuu yhdistelmästä operandit, operaattorit, ja suluissa., Katsotaanpa esimerkki Aritmeettinen toimijoiden TCL
+ Lisää kaksi tai useampia operandeja
Ex:-
%set a 10 %set b 20%puts 30
– Vähentää kahden tai useamman operandin
Ex:-
%set a 20 %set b 10%puts 10
*Kerrotaan kaksi tai useampia operandeja
%set a 20 %set b 10%puts 200
/ Jaa osoittaja, jonka denumerator
%set a 20 %set b 10%puts 2
% Moduuli operaattori jakaa osoittaja de-osoittaja, mutta palaa muistutus
%set a 20 %set b 10%puts 0
vertailuoperaattori
Tarkistaa, jos arvo vasemmalle puolella oleva tekijä on suurempi kuin arvo oikealla puolella oleva., Jos kyllä, niin ehto tulee totta ja palata 1 muu palata 0.
%set a 20 %set b 10%puts 1
tarkista, onko vasemman operandin arvo pienempi kuin oikean operandin arvo., Jos kyllä, niin ehto tulee totta ja return 1 else return 0
%set a 10 %set b 20%puts 1
>= Tarkistaa, jos arvo vasemmalle puolella oleva tekijä on suurempi kuin tai yhtä suuri kuin arvon oikean operandin, jos kyllä niin ehto tulee totta ja return 1 else return 0
%set a 20 %set b 10%puts 1
<= Tarkistaa, jos arvo vasemmalle puolella oleva tekijä on pienempi tai yhtä suuri kuin arvon oikean operandin, jos kyllä niin ehto tulee totta ja return 1 else return 0
%set a 20 %set b 10%puts 0
!,ei ole yhtä sitten ehto on tosi ja return 1 else return 0
%set a 20 %set b 10%puts 1
== Tarkistaa, jos arvot kahden operandit ovat samat tai ei, jos kyllä niin ehto tulee totta ja return 1 else return 0
%set a 20 %set b 10%puts 0
Looginen Operaattori
&& Jos molemmat operandit ovat ei-nolla, sitten ehto on tosi ja return 1 else return 0
%set a 20 %set b 10%puts 1
|| Jos minkä tahansa kahden operandin on ei-nolla, niin ehto tulee totta ja return 1 else return 0
%set a 0 %set b 10%puts 1
!, Käytetään kääntämään tulos tahansa lauseke. Tässä tuotoksessa, voit nähdä arvo ” a ” on nyt tullut 1 alkaen 0. Kun taas arvo ” b ” on tullut 0 alkaen 1.
%set a 0 %set b 1%puts 1%puts 0
Peiton Operaattori
& (bittikohtainen tai) suorittaa vähän kerrallaan toimintaa ja seuraa alla taulukko toiminta.,/td>
Ex:-
%set A 10%set B 20Follow the sequence to convert decimal to binary number128 64 32 16 8 4 2 110 binary equivalents will be 128 64 32 16 8 4 2 1 à 0 0 0 0 1 0 1 020 binary equivalents will be 128 64 32 16 8 4 2 1 à 0 0 0 1 0 1 0 0So now as per above tabular rulesA ^ B will be 0 0 0 1 1 1 1 0 à 30
~ (bitwise negation) operator changes each 1 to 0 and 0 to 1, follow the table as reference
A | ~A |
---|---|
0 | 1 |
1 | 0 |
%set A 7%puts -8
Ternary Operator ( ?,:)
Syntaksi on
condition-expression? expression_1: expression_2
Jos ehto-exp on totta, exp1 arvioidaan ja tulos palautetaan. Jos cond-exp on väärä, exp2 arvioidaan ja sen tulos palautetaan. Esimerkissämme exp1 on totta, koska arvo A on suurempi kuin 6.
%set A 7%set result %puts $resulttrue
Shift Operator
Shift toimija on merkitty joko << vasen vaihto-operaattori, tai >> oikea vaihto-operaattori., Esimerkiksi << vasen vaihto-operaattori, vasemman operandin arvo on siirretty vasemmalle bittien määrä määritelty oikealla puolella oleva.
%set A 7%set result %puts $result
Esimerkiksi >> oikea vaihto-operaattori, vasemman operandin arvo on siirretty suoraan bittien määrä määritelty oikealla puolella oleva.
%set A 7%set result %puts $result
Merkkijono-vertailuoperaattoreita
– Merkkijonon vertailu operaattori vertaa arvoa sekä operandeja. Jos operandin arvo on sama, se palauttaa 1 else return 0., Esimerkiksi arvo sekä A että B on 7, siis tulospalautus 1.
Ex:-
%set A 7 %set B 7%set result %puts $result1
Ne (jos arvo sekä operandi on eri niin se on return 1 else return 0)
%set A 7 %set B 8%set result %puts $result1
Potenssiinkorotus operaattori
Pow () ja ** molemmat ovat samat. Se palauttaa aina kelluvan arvon.
** ilmaisee voiman halutulle operandille.
Ex:-
%set A 7%set result %puts $result49
Luettelo Operator
Jos tarvittava arvo löytyy määritellään luettelossa, se palauttaa 1 else return 0. Esimerkkiarvossa 1 on muuttuja ”a”, joten se palaa 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 else return 1.
Ex :-
set a {1 2 3}if {1 ni $a} {puts "ok"} else {puts "fail"}Output: fail
TCL virtauksen ohjaus ja päätöksenteko
On olemassa erilaisia virtauksen ohjaus-ja päätöksenteko-komento, joka käytetään muuttaa virtauksen ohjelma. Ohjelman teloitukset alkavat aina lähdetiedoston yläreunasta pohjaan.
Jos lausuma koostuu Boolisesta lauseesta, jota seuraa yksi tai useampi lausuma.
If … lauseke
syntaksi: –
Jos expr ?- entä sitten?, elin
Jos expr arvioidaan todeksi, komentoryhmä suoritetaan.
Ex:-
set age 10if {$age < 20} {puts "Age is less than 20"}Output: Age is less than 20
Jos … else statement
syntaksi: –
Jos lauseke ? sitten body_1 muuta body_2
Jos ilmaisu on arvioitava totta, niin se palaa body_1 muuten se palaa body_2
Ex:–
set age 10if {$age < 20} {puts "Age is less than 20"} else {Puts "Age is greater than 20"}output: Age is less than 20
Sisäkkäisiä jos..else statement
se tarkoittaa yhtä jos tai muuta..jos lausunto voidaan laittaa toiseen jos tai muuten..jos lausuntoja.,
Syntax:
If {expression_1} {Body_1If {expression_2} {Body_2}}
Ex:–
Kytkin selvitys
switch-lauseen avulla muuttuja testataan tasa-arvoa vastaan luettelon arvot. Se arvioi arvoluettelon ja palauttaa arvioinnin tulokset. Jos arvot eivät täsmää, oletusarvot palautetaan.
Esimerkki:
#!/usr/bin/tclsh# switch_cmd.tclset domain xswitch $domain { x { puts "x" } y { puts "y" } z { puts "z" } default { puts "unknown" }}
Sisäkkäisiä kytkin
Sisäkkäisiä kytkin selvitys tarkoittaa switch-lauseen sisällä kytkin selvitys.,
Syntax :
Esimerkki: seuraavassa esimerkissä arvo on 100, ja sama koodi me kytkin selvitys toisen arvo b on 200. Ulkona näyttää arvo sekä a ja b.
#!/usr/bin/tclshset a 100set b 200switch $a { 100 { puts "The value of a is $a" switch $b { 200 { puts "The value of b is $b" } } } }
tuloksena on:
arvo on 100,
b: N arvo on 200
TCL Silmukka lausunto
Silmukka lausunto mahdollistaa täytäntöönpanosta lausunto tai ryhmän lausunto useita kertoja. Tcl tarjoaa seuraavat tyypit silmukkalausunto.,
Kun komento
Kun tietty ehto on totta, sitten ilmoitus tai ryhmän ilmoitus toistuu, jotka ovat silmukan runko.
Syntax:
While {condition} { Statements}
Ex :-
#!/usr/bin/tclshSet a 10While {$a < 12} { Puts "a is $a" incr a}
tuloksena on :
10.
11.
yllä olevassa esimerkissä, ”lisä” sisäänrakennettu-komentoa käytetään. Se tarkoittaa, että arvo on ” a ” on kasvanut 1, kunnes suurin arvo (<12).
komento
Se suorittaa sarjan lausuntoja useita kertoja, joka perustuu vasta-arvo., Sitä lisätään tai vähennetään automaattisesti jokaisen silmukan toistamisen aikana.
Syntax :
For {start} {test} {next} {Body}
Esimerkki: seuraavassa esimerkissä arvo ” i ” on asetettu 0, ja kasvaa, kunnes arvo <5.
#!/usr/bin/tclshfor {set i 0} {$i < 5} {incr i} {put $i}
Lähtö: –