Hvad er TCL?

TCL er shell program, der læser TCL kommando fra sin standard input eller fra en fil og giver de ønskede resultater.

TCL er streng baseret scriptsprog og også en proceduremæssig sprog. Det blev først oprettet af John Osterhout i 1989. Formålet med at udvikle dette sprog er let indlejret inti ( ) applikationer. Sproget er almindeligt anvendt til GUI ‘ er og test. For eksempel rapid prototyping, test database interaktion, etc., I TCL som standard er alt en streng.,

  • TCL Variabel
  • TCL Udtryk og Operatør
  • TCL flow kontrol og beslutningstagning
  • Hvordan man kan Udføre TCL

    Der er to måder at udføre TCL-kode

    1. Windows-baseret program, er tilgængelig her tcltutor exe-fil
    2. Linux-baseret program

    I Linux interaktive tolk, kan vi udføre TCL scripts som under

    for At få adgang til TCL interaktiv session, kør den følgende kommando

    TCL scripts

    TCL program bør have en .,TCL udvidelse. Hvert script i UNI! /Linu! starter med TCL shell path

    #!eksempel: –

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

    Output: Hello Worldorld

    i Tcl bruges kommandoen “Puts” til at udskrive meddelelser til konsollen .syntaks af puts er under

    sætter?- None ?line? ?channelId? string

    • None .line: denne valgfri parameter undertrykker ne .line-tegnet som standardkommando. Det sætter en ne .line til hver streng
    • Channelid: denne parameter bruges til standard input channel (stdin) og standard output channel (stdout).,

    Ex:-

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

    TCL Substitution type

    Der er tre former for udskiftninger i TCL

    1. Command substitution
    2. Variabel substitution
    3. Backslash substitution

    Lad os studere én efter én

    Command substitution

    Firkantede parenteser bruges til command substitution. eksempel: –

    % puts % 3

    Her evalueres kommandoen mellem de firkantede parenteser først. Resultaterne returneres .”e .pr” bruges til at udføre den aritmetiske beregning.,

    variabel substitution

    TCL udfører variabel substitution ved hjælp af $ tegn. eksempel: –

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

    Her opretter vi en variabel kaldet “A” og indstiller værdien “10” til den.

    • sætter A: det udskriver streng “a”, men ikke værdien af ‘ a ‘ til konsollen
    • sætter $A : det udskriver værdien af ‘a’ til konsollen

    lad os udføre og verificere det. Du får output som nedenfor.,

    $ ./substitution.tcl

    en

    Backslash substitution

    I Tcl, backslash bruges til at undslippe specielle tegn, såvel som for spredning lange kommandoer på tværs af flere linjer. Ethvert tegn umiddelbart efter backslash vil stå uden substitution. I eksemplet nedenfor kan du se specialtegn””, forbliver efter backslash.

    lad os bekræfte dette med et eksempel

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

    BEMÆRK: -For at kommentere bruges enhver streng i TCL”#”. Alle tegn efter ” # ” ignoreres af tclsh shell-kommandoen.,

    TCL variabel

    en variabel er en identifikator, der har en værdi. Med andre ord er en variabel en henvisning til en computerhukommelse, hvor værdien er gemt.

    variabler oprettes af “set command”, og alle variabelnavne er store og små bogstaver. Det betyder Hej, Hej, Hej alle er forskellige i TCL. Kig på nogle eksempel for store og små bogstaver variabel.,

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

    Output:-

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

    Oprettelse af TCL Variabler

    for At oprette variabler i TCL, du er nødt til at “indstille” kommando

    der ligger 10

    for At opnå den værdi af variabel er nødt til at bruge ” $ ” – symbol, som

    % sætte $a

    % 10

    Så får vi værdien af variablen ‘a’ som 10.

    TCL Kommandoinfo findes

    kommandoen “set” bruges til at oprette og læse variabler som vist ovenfor. Kommandoen unset bruges til at ødelægge en variabel., Kommandoen “info e existsists” returnerer 1 hvis varName eksisterer som en variabel (eller et array element) i den aktuelle kontekst, ellers returnerer 0. (se eksempel nedenfor).

    Ex:-

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

    Forskellige seler og deres adfærd

    {} -> Krøllede parenteser

    Krøllede parenteser i TCL gruppe ord sammen til at blive argumenter. Krøllede seler bruges til at definere en blok, der er udskudt – med andre ord kan den køres efter resten af kommandoen på den aktuelle linje. Tegn inden seler er gået til en kommando præcis som skrevet.,

    Nogle punkter at huske

    1. Variabel substitution er ikke tilladt inde i {} seler
    2. Det bruges til at oprette listen datatype

    Eksempel :-

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

    %antal {1 2 3 4 5} -> Her nummer er en liste af data-type

    %sætter $antal

    %1 2 3 4 5

    -> square seler

    Firkantede parenteser bruges til at oprette indlejrede kommando. Kort sagt, output af en kommando bestået som argument til en anden kommando., Firkantede parenteser bruges til at definere en blok, der kører før resten af kommandoen på den aktuelle linje, og resultatet erstattes i linjen.

    Ex: –

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

    () -> runde seler

    Denne kommando bruges til at skabe array data type og også angive erhvervsdrivende forud.

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

    Her er “A” et array med værdi 10 og 20. Se kommandoer nedenfor for at udskrive nøgler, nøgleværdipar og værdier for array.,

    for print “Nth” værdi af array a, vil vi bruge sætter $a(n)

    TCL kommandolinjeargumenter

    dataelementer overført til et script fra kommandolinjen er kendt som argumenter. Antallet af kommandolinjeargumenter til et Tcl-script overføres som den globale variabel argc . Navnet på et TCL-script overføres til scriptet som den globale variabel argv0, og resten af kommandolinjeargumenterne overføres som en liste i argv.,

    TCL har 3 pre-definerede variabler såsom

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

    • Antal argumenter videre til scripts: 3
    • Liste af argumenter er gået til scriptet: 10 20 30
    • navnet på Det script, er : arg-script.TCL

    TCL e .pression and Operator

    E Expressionpression er konstrueret ud fra operander og operatorer. Det evalueres med” e .pr ” kommando. Operatørerne vurderes på grundlag af forrang og associativitet., TCL sprog har indbyggede operatører som nedenfor

    aritmetisk operatør

    et TCL-udtryk består af en kombination af operander, operatører og parenteser., Lad se eksempel på Aritmetiske operatorer i TCL

    + Add to eller flere operander

    Ex:-

    %set a 10 %set b 20%puts 30

    – Trækker to eller flere operander

    Ex:-

    %set a 20 %set b 10%puts 10

    *Ganger to eller flere operander

    %set a 20 %set b 10%puts 200

    Dividere tælleren med denumerator

    %set a 20 %set b 10%puts 2

    % Modulus operatoren dividere tælleren med de-tælleren, men vender tilbage påmindelse

    %set a 20 %set b 10%puts 0

    Relationel Operator

    Kontrollerer, om værdien af venstre operand er større end værdien af den højre operand., Hvis ja, bliver betingelsen sand og returnerer 1 ellers returnerer 0.

    %set a 20 %set b 10%puts 1

    Kontroller, om værdien af venstre operand er mindre end værdien af den højre operand., Hvis ja, så er betingelsen bliver sand og returnere 1 else return 0

    %set a 10 %set b 20%puts 1

    >= Kontrollerer, om værdien af venstre operand er større end eller lig med værdien til højre operand, hvis ja så er betingelsen bliver sand og returnere 1 else return 0

    %set a 20 %set b 10%puts 1

    <= Kontrollerer, om værdien af venstre operand er mindre end eller lig med værdien til højre operand, hvis ja så er betingelsen bliver sand og returnere 1 else return 0

    %set a 20 %set b 10%puts 0

    !,re ikke lige så betingelsen bliver sand og returnere 1 else return 0

    %set a 20 %set b 10%puts 1

    == Kontrol, hvis værdierne af to operander er lig med eller ikke, hvis ja så er betingelsen bliver sand og returnere 1 else return 0

    %set a 20 %set b 10%puts 0

    Logisk Operator

    && Hvis begge operander er ikke-nul, så betingelsen bliver sand og returnere 1 else return 0

    %set a 20 %set b 10%puts 1

    || Hvis en af de to operander er ikke-nul, så er betingelsen bliver sand og returnere 1 else return 0

    %set a 0 %set b 10%puts 1

    !, Bruges til at vende resultatet af ethvert udtryk. Her i output, kan du se værdien af ‘ a ‘ er nu blevet 1 fra 0. Mens værdien af ‘ b ‘ er blevet 0 fra 1.

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

    Bitvis Operator

    & (bitvise og udføre lidt efter lidt, drift og følge nedenstående tabel for driften.,/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 betingelse-e .p er sandt, e .p1 evalueres og resultatet returneres. Hvis cond-e .p er falsk, e .p2 evalueres og dens resultat returneres. I vores eksempel er e .p1 sandt, da værdien af A er større end 6.

    %set A 7%set result %puts $resulttrue

    Skift Operator

    Skift operatør er angivet ved enten << venstre skift operatør, eller >> højre-skift operator., For << venstre skiftoperatør flyttes den venstre operand-værdi til venstre med det antal bits, der er angivet af den højre operand.

    %set A 7%set result %puts $result

    For >> højre-skift operator, venstre operander værdi er flyttet lige med antallet af bits, der er angivet af den højre operand.

    %set A 7%set result %puts $result

    String sammenligning operatør

    String sammenligning operatør sammenligner værdien af begge operander. Hvis værdien af operand er den samme, returnerer den 1 ellers retur 0., I eksempel værdi for både A og B er 7, Derfor resultat afkast 1.

    Ex:-

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

    Ne (hvis værdien af begge operand er forskellige, så vil det vende tilbage 1 else return 0)

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

    Eksponentiering operatør

    Pow () og ** både er den samme. Det returnerer altid flydende værdi.

    ** angiver strømmen til den ønskede operand.

    e.: –

    %set A 7%set result %puts $result49

    List Operator

    Hvis den krævede værdi findes i den definerede liste, returnerer den 1 ellers retur 0. I eksempel værdi 1 findes i variabel ‘ a ‘ dermed det vil returnere 1.,

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

    ni, hvis den krævede værdi findes i den definerede liste, returnerer den 0 ellers retur 1.

    Ex :-

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

    TCL flow kontrol og beslutningstagning

    Der er forskellige flow kontrol og beslutningstagning kommando, der bruges til at ændre strømmen af et program. Program henrettelser starter altid fra toppen af kildefilen til bunden.

    hvis udsagn består af Boolesk udtryk efterfulgt af en eller flere udsagn.

    Hvis … erklæring

    syntaks: –

    Hvis e ?pr ?så?, body

    Hvis e .pr evalueres til true, udføres kommandokroppen.

    e If: –

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

    Hvis … else erklæring

    syntaks: –

    Hvis udtryk ? derefter body_1 ellers body_2

    Hvis udtrykket evalueres til sandt, vil det returnere body_1 ellers vil det returnere body_2

    e.:–

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

    indlejret hvis..else erklæring

    det betyder en hvis ellers..hvis erklæring kan sættes inde i en anden, hvis ellers..hvis udsagn.,

    Syntaks:-

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

    Ex:–

    Switch-sætning

    switch-sætning gør det muligt for en variabel, for at blive testet for ligestilling, mod en liste af værdier. Den evaluerer listen over værdier og returnerer resultatet af denne evaluering. Hvis ingen værdier matcher, returneres standardværdier.

    Eksempel:

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

    Indlejrede skifte

    Indlejrede skifte erklæring betyder, switch-sætning inden i en switch-sætning.,

    syntaks: –

    eksempel: i det følgende eksempel er værdien af a 100, og med den samme kode skifter vi erklæring for en anden værdi af B er 200. Det vil vise værdien 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:

    værdien af a er 100

    værdien af b er 200

    TCL Loop-sætningen.

    Loop-sætningen giver mulighed for at udføre en sætning eller en gruppe af sætning flere gange. Tcl giver følgende typer af looping erklæring.,

    mens kommandoen

    Når en given betingelse er sand, gentages en erklæring eller gruppe af udsagn, som er i sløjfekroppen.

    Syntax:

    While {condition} { Statements}

    Ex :-

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

    Output :

    10

    der er 11

    I ovenstående eksempel, at “øge” indbygget kommando bruges. Det betyder, at værdien af ‘ a ‘vil blive forhøjet med 1 indtil den maksimale værdi (<12).

    for kommando

    det udfører en sekvens af udsagn flere gange baseret på en tæller værdi., Det øges eller formindskes automatisk under hver gentagelse af sløjfen.

    Syntaks :-

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

    Eksempel: I nedenstående eksempel værdien af ‘jeg’ er sat til 0 og forøges, indtil værdi <5.

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

    udgang: –

    Articles

    Skriv et svar

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