Hva er TCL?

TCL er shell program som leser TCL kommando fra standard input eller fra en fil og gir ønskede resultater.

TCL er streng basert skriptspråk og også en saksbehandlingsfeil språk. Den ble skapt av John Osterhout i 1989. Formålet med å utvikle dette språket er lett innebygd inti ( ) – programmer. Språket er ofte brukt for Gui og testing. For eksempel rapid prototyping, Testing database samhandling, etc., I TCL som standard, alt er en streng.,

  • TCL Variabel
  • TCL Uttrykk og Operatør
  • TCL flow kontroll og beslutningstaking
  • Hvordan å Utføre TCL

    Det er to måter å utføre TCL kode

    – >

    1. Windows-basert program er tilgjengelig her tcltutor exe-fil
    2. Linux-basert program,

    I Linux interaktive tolk, kan vi utføre TCL skript som under

    for Å få tilgang TCL interaktiv sesjon, utfør følgende kommando

    TCL skript

    TCL programmet bør ha en .,tcl extension. Alle skript i UNIX/LINUX starter med TCL shell sti

    #!/usr/bin/tclsh

    Eksempel:-

    – >

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

    Output: Hello World

    I TCL, «Setter» – Kommandoen brukes til å skrive meldinger til konsollen .syntaks setter er under

    setter?-nonewline? ?channelId? string

    • Nonewline: Dette er valgfritt parameter undertrykker newline karakter av standard kommando. Det setter en newline til hver streng
    • Channelid: Denne parameteren brukes for standard input-kanal (stdin) og standard ut-kanal (stdout).,

    Eks:-

    – >

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

    TCL Substitusjon type

    Det er tre typer erstatninger i TCL

    1. Command substitusjon
    2. Variabel substitusjon
    3. omvendt Skråstrek substitusjon

    La oss studere ett

    Command substitusjon

    hakeparenteser brukes for command substitusjon.

    Eksempel:-

    – >

    % puts % 3

    Her kommandoen mellom hakeparentesene er vurdert først. Resultatene er returnert .»expr» brukes for å utføre regnestykke.,

    Variabel substitusjon

    TCL utfører variabel substitusjon med hjelp av $ – tegn.

    Eksempel:-

    – >

    #!/usr/bin/tclshset a 10puts aputs $a 

    Her har vi lage en variabel kalt «en» og sett verdien «10» til det.

    • setter en : Det vil skrive ut strengen «en», men ikke verdien av ‘a’ til konsollen
    • setter $a : Det vil skrive ut verdien av ‘a’ til konsollen

    La oss utføre og kontrollere det. Du vil få den ut som nedenfor.,

    $ ./substitution.tcl

    en

    omvendt Skråstrek substitusjon

    I Tcl, omvendt skråstrek brukes for å unngå spesialtegn, så vel som for å spre lange kommandoer, over flere linjer. Alle tegn umiddelbart etter skråstrek, vil stå uten innbytte. I eksempelet nedenfor, kan du se spesielle karakter » «, restene etter den omvendte skråstreken.

    La oss sjekke dette med et eksempel

    #!/usr/bin/tclshputs "This is my \"car\"$ ./backslashsubstitution.tclThis is my "car"

    MERK: -for Å kommentere en hvilken som helst streng i TCL «#» er brukt. Alle tegn etter «#» blir ignorert av tclsh shell-kommando.,

    TCL Variabel

    En variabel er en identifikator som har en verdi. Med andre ord, en variabel er en referanse til en datamaskin minne, der verdien er lagret.

    Variabler er laget av «set-kommandoen» og alle variable navn er case sensitive. Det betyr hallo, Hallo, HALLO alle er forskjellige i TCL. Se på et eksempel for mellom store og små bokstaver variabel.,

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

    Output:-

    – >

    % puts $name% Technoit%puts $Name%Technoit_1%puts $NAME%Technoit_2

    Opprette TCL Variabler

    for Å lage variabler i TCL, du må bruke «set» – kommandoen

    Angi en 10

    for Å få verdien av variabelen har til å bruke » $ » – symbol som

    % sette $a

    % 10

    Så får vi verdien av variabelen ‘a’ som 10.

    TCL Kommandoen Info finnes

    «set» – kommandoen brukes til å opprette og lese variabler som vist ovenfor. Den unset kommando brukes til å ødelegge en variabel., Info finnes» – kommandoen returnerer 1 hvis varName eksisterer som en variabel (eller en matrise-elementet) i den aktuelle konteksten, ellers returnerer 0. ( se eksempel nedenfor).

    Eks:-

    – >

    % set a 20% puts $a% 20% puts % 1% unset a%puts % 0

    Ulike bukseseler og deres oppførsel

    {} -> krøllparentes

    krøllparentes i TCL gruppe ord sammen til å bli argumenter. Krøllparentes brukes til å definere en blokk som er utsatt – med andre ord, det kan være å kjøre ETTER at resten av kommandoen på den aktuelle linjen. Tegn i bukseseler sendes til en kommando, nøyaktig slik den er skrevet.,

    Noen punkter å huske

    1. Variabel substitusjon er ikke tillatt inne {} bukseseler
    2. Det brukes til å lage listen datatype

    Eksempel :-

    – >

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

    %fast antall {1 2 3 4 5} -> Her nummeret er en liste datatype

    %setter $nummer

    %1 2 3 4 5

    -> square bukseseler

    hakeparenteser brukes til å lage nestede kommando. Enkelt sagt, utdata fra en kommando gått som argument til en annen kommando., Hakeparenteser brukes til å definere en blokk som er kjørt FØR resten av kommandoen på den aktuelle linjen, og resultatet er byttet ut til line.

    Eks: –

    – >

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

    () -> runde bukseseler

    Denne kommandoen brukes til å opprette array data type og også indikere operatør forrang.

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

    Her «a» er en matrise med verdien 10 og 20. Se nedenfor kommandoer for å skrive ut taster, taster verdi-par og verdiene i tabellen.,

    For å skrive ut «Nth» verdien av matrise-en, bruker vi Setter $a(N)

    TCL kommandolinje-argumenter

    Elementer av data som sendes til et skript fra kommandolinja er kjent som argumenter. Antall kommandolinje argumenter til en Tcl skriptet er gått som den globale variabelen argc . Navnet på en Tcl skriptet er gått til skriptet som den globale variabelen argv0 , og resten av kommandolinjeargumenter er gått som en liste i argv.,

    TCL har 3 pre-definerte variabler som for eksempel

    $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 30

    output:-

    - >

    • Antall argumenter gått til skript: 3
    • Liste av argumenter er bestått for å skriptet: 10 20 30
    • navnet på skriptet er : arg-script.tcl

    TCL Uttrykk og Operatør

    Uttrykk er konstruert fra operander og operatører. Det er vurdert med «expr» – kommandoen. Operatørene er evaluert basert på presedens og assosiativitet., TCL språk har innebygd operatører som under

    Aritmetisk Operator

    EN TCL uttrykk består av en kombinasjon av operander, operatører, og parenteser., La se eksempel på Aritmetiske operatorer i TCL

    + Add to eller flere operander

    Eks:-

    – >

    %set a 10 %set b 20%puts 30

    – Subtraherer to eller flere operander

    Eks:-

    – >

    %set a 20 %set b 10%puts 10

    *Multiplisere to eller flere operander

    %set a 20 %set b 10%puts 200

    / Dele numerator av denumerator

    %set a 20 %set b 10%puts 2

    % Modulus operatør deler numerator av de-teller, men returnerer påminnelse

    %set a 20 %set b 10%puts 0

    Relasjonelle Operatør

    Kontrollerer om verdien av venstre operand er større enn verdien på høyre operand., Hvis ja, så tilstanden blir sanne og return 1 else return 0.

    %set a 20 %set b 10%puts 1

    Sjekk hvis verdien på venstre operand er mindre enn verdien på høyre operand., Hvis ja, så tilstanden blir sanne og return 1 else return 0

    %set a 10 %set b 20%puts 1

    >= Kontrollerer om verdien av venstre operand er større enn eller lik verdien på høyre operand, hvis ja så tilstanden blir sanne og return 1 else return 0

    %set a 20 %set b 10%puts 1

    <= Kontrollerer om verdien av venstre operand er mindre enn eller lik verdien på høyre operand, hvis ja så tilstanden blir sanne og return 1 else return 0

    %set a 20 %set b 10%puts 0

    !,re ikke like så tilstanden blir sanne og return 1 else return 0

    %set a 20 %set b 10%puts 1

    == Kontrollerer om verdien av to operander er lik eller ikke, hvis ja så tilstanden blir sanne og return 1 else return 0

    %set a 20 %set b 10%puts 0

    Logisk Operator

    && Hvis både operander er ikke-null, deretter tilstanden blir sanne og return 1 else return 0

    %set a 20 %set b 10%puts 1

    || Hvis noen av de to operander ikke er null, da tilstanden blir sanne og return 1 else return 0

    %set a 0 %set b 10%puts 1

    !, Brukes til å reversere resultat av et uttrykk. Her i produksjonen, kan du se verdien av ‘en» har nå blitt 1 fra 0. Mens verdien av ‘b’ har blitt 0 fra 1.

    %set a 0 %set b 1%puts 1%puts 0

    Bitvis Operatør

    & (bitvis og) utføre bit for bit drift og følge tabellen nedenfor for drift.,/td>

    0 0 1 1 1 1 0 1 0 1

    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 ( ?,:)

    Syntaks er

    condition-expression? expression_1: expression_2

    Hvis tilstand-exp er sant, exp1 er evaluert, og resultatet er returnert. Hvis cond-exp er falske, exp2 er evaluert, og resultatet er returnert. I vårt eksempel, exp1 er sant som verdien av A er større enn 6.

    %set A 7%set result %puts $resulttrue

    Skift Operatør

    Skift operatør er merket med enten << venstre shift operatør, eller av >> høyre skift-operatør., For << venstre shift operatør, venstre operander verdi er flyttet til venstre ved antall biter som er angitt av høyre operand.

    %set A 7%set result %puts $result

    For >> høyre skift-operatør, venstre operander verdi er flyttet rett ved antall biter som er angitt av høyre operand.

    %set A 7%set result %puts $result

    String Sammenligningen Operatør

    String sammenligningen operatør sammenligner verdien av både operander. Hvis verdien av operand er det samme, så vil det return 1 else return 0., I eksempel verdien for både A og B er 7, derfor resultere retur 1.

    Eks:-

    – >

    %set A 7 %set B 7%set result %puts $result1

    Ne (hvis verdien av både operand er forskjellige så det vil return 1 else return 0)

    %set A 7 %set B 8%set result %puts $result1

    Exponentiation operatør

    Pow () og ** begge er det samme. Det går alltid tilbake flytende verdi.

    ** indikerer styrken til ønsket operand.

    Eks:-

    – >

    %set A 7%set result %puts $result49

    Liste Operatør

    Hvis den krevde verdien som er funnet i definert liste, returneres 1 else return 0. I eksempel verdien 1 finnes i variabel ‘a’ derfor vil det returnere 1.,

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

    ni, hvis den krevde verdien som er funnet i de definerte listen, så det vil return 0 else return 1.

    Eks :-

    – >

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

    TCL flow kontroll og beslutningstaking

    Det finnes ulike flow kontroll og beslutningstaking kommando som brukes til å endre flyten av et program. Programmet henrettelser alltid starte fra toppen av kilde filen til bunnen.

    Hvis erklæringen består av Boolske uttrykk etterfulgt av ett eller flere uttrykk.

    Om … uttalelse

    Kommando:-

    – >

    hvis expr ?deretter?, kroppen

    hvis expr evalueres til sann, så kroppen av kommandoen er utført.

    Eks:-

    – >

    set age 10if {$age < 20} {puts "Age is less than 20"}Output: Age is less than 20

    Om … andre uttalelse

    Kommando :-

    – >

    Hvis uttrykk ? deretter body_1 annet body_2

    Hvis uttrykk som evalueres til sann, så vil den gå tilbake body_1 ellers vil det gå tilbake 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

    Nestede hvis..andre uttalelse

    Det betyr at hvis en eller annet..hvis uttalelsen kan bli satt inn i et annet hvis eller annet..hvis uttalelser.,

    Kommando:-

    – >

    If {expression_1} {Body_1If {expression_2} {Body_2}}

    Ex:–

    Slå uttalelse

    The switch-setningen gjør at en variabel til å bli testet for likestilling, mot en liste over verdier. Den beregner liste av verdier og returnerer resultatet av at evaluering. Hvis ingen verdier kampene så standard-verdier vil bli returnert.

    Eksempel:

    #!/usr/bin/tclsh# switch_cmd.tclset domain xswitch $domain { x { puts "x" } y { puts "y" } z { puts "z" } default { puts "unknown" }}

    Nestede bytte

    Nestede switch-setningen betyr switch-setningen inne i en switch statement.,

    Kommando :-

    – >

    Eksempel: I følgende eksempel verdien av a er 100, og med den samme koden vi slå uttalelse for en annen verdi av b er 200. Den vil vise verdien for både a og 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" } } } }

    Output:

    verdien av a er 100

    verdien av b ligger 200

    TCL Loop-uttrykket

    Loop-uttrykket lar du utfører en uttalelse eller en gruppe av setningen flere ganger. Tcl gir følgende typer løkker uttalelse.,

    Mens kommandoen

    Når en gitt betingelse er sann deretter en uttalelse eller en gruppe av utsagn gjentar som er i loop kroppen.

    Syntaks:

    While {condition} { Statements}

    Eks :-

    – >

    #!/usr/bin/tclshSet a 10While {$a < 12} { Puts "a is $a" incr a}

    Output :

    en 10 –

    – >

    en er 11

    I eksempelet ovenfor, «incr» innebygd kommando brukes. Det betyr at verdien av ‘en» vil bli økt med 1 til maks. verdi (<12).

    For kommando

    Det utfører en sekvens av uttalelser flere ganger basert på en telleren., Det er automatisk økes eller reduseres i løpet av hver repetisjon av loopen.

    Kommando :-

    – >

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

    Eksempel: I nedenfor eksempel verdien av ‘jeg’ er satt til 0 og øker til verdi <5.

    #!/usr/bin/tclshfor {set i 0} {$i < 5} {incr i} {put $i}

    Output :-

    Articles

    Legg igjen en kommentar

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