ce este TCL?TCL este o aplicație shell care citește comanda TCL de la intrarea sa standard sau dintr-un fișier și dă rezultatele dorite. TCL este un limbaj de scripting bazat pe string și, de asemenea, un limbaj procedural. A fost creat pentru prima dată de John Osterhout în 1989. Scopul dezvoltării acestui limbaj este ușor încorporat inti () aplicații. Limba este frecvent utilizată pentru GUI și testare. De exemplu, prototiparea rapidă, testarea interacțiunii bazei de date etc., În TCL, în mod implicit, totul este un șir.,

  • TCL Variabilă
  • TCL Exprimare și Operatorul
  • TCL fluxului de control și de luare a deciziilor
  • Cum să Execute TCL

    Există două moduri de a executa TCL cod

    1. Windows pe bază de cerere este disponibil aici tcltutor fișier exe
    2. Bazat pe Linux de aplicare

    În Linux interactiv, putem executa TCL script-uri de mai jos

    Pentru a accesa TCL sesiune interactivă, executați următoarea comandă

    TCL script-uri

    TCL program ar trebui să aibă un .,extensie tcl. Fiecare script în UNIX / LINUX începe cu TCL Shell path

    #!/usr/bin/tclsh

    Exemplu:

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

    Ieșire: Hello World

    În TCL, „Pune” Comandă este utilizată pentru a imprima mesaje la consola .sintaxa puts este mai jos

    puts?- non-linie? ?channelId? string

    • Nonewline: acest parametru opțional suprimă caracterul newline prin comanda implicită. Se pune o linie nouă pentru fiecare șir
    • Channelid: acest parametru utilizat pentru standard input channel (stdin) și standard output channel (stdout).,

    Ex:-

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

    TCL Substituție de tip

    Există trei tipuri de substituții în TCL

    1. Comanda de substituție
    2. Variabile de substituție
    3. Backslash de substituție

    Să studiem unul câte unul,

    Comanda de substituție

    paranteze drepte sunt utilizate pentru comanda de substituție.

    exemplu: –

    % puts % 3

    aici este evaluată mai întâi comanda dintre parantezele pătrate. Rezultatele sunt returnate .”expr” utilizat pentru efectuarea calculului aritmetic., TCL efectuează substituția variabilă cu ajutorul semnului$.

    exemplu: –

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

    aici vom crea o variabilă numită” a „și setați valoarea” 10 ” la ea.

    • pune a : va imprima șirul „a”, dar nu valoarea lui ” a „în consolă
    • pune $a : va imprima valoarea lui” a ” în consolă

    să o executăm și să o verificăm. Veți obține ieșirea ca mai jos.,

    $ ./substitution.tcl

    a

    înlocuirea Backslash

    în Tcl, backslash-ul este folosit pentru a scăpa de caractere speciale, precum și pentru a răspândi comenzi lungi pe mai multe linii. Orice caracter imediat după backslash va rămâne fără înlocuire. În exemplul de mai jos, puteți vedea caracterul special””, rămâne după backslash.

    să verificăm acest lucru cu un exemplu

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

    notă: -pentru a comenta orice șir din TCL „#” este folosit. Toate caracterele după ” # ” sunt ignorate de comanda shell tclsh.,

    TCL variabilă

    o variabilă este un identificator care deține o valoare. Cu alte cuvinte, o variabilă este o referință la o memorie a computerului, unde valoarea este stocată.

    variabilele sunt create de „set command” și toate numele variabilelor sunt sensibile la litere mari și mici. Înseamnă salut, salut, salut toate sunt diferite în TCL. Uitați-vă la un exemplu pentru variabila sensibilă la caz.,

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

    Ieșire:-

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

    Crearea TCL Variabile

    Pentru a crea variabile în TCL, aveți nevoie pentru a utiliza „set” de comandă

    Set de 10

    Pentru a obține valoarea variabilei trebuie să utilizați „$” simbol ca

    % pus $o

    % 10

    Așa că am obține valoarea variabilei ” a ” de 10.

    TCL Command Info există

    comanda „set” este utilizată pentru a crea și citi variabilele așa cum se arată mai sus. Comanda unset este utilizată pentru a distruge o variabilă., Comanda” info exists ” returnează 1 dacă varName există ca o variabilă (sau un element de matrice) în contextul curent, altfel returnează 0. (vezi exemplul de mai jos).

    Ex:

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

    bretele Diferite și comportamentul lor

    {} -> acolade

    acolade în TCL group cuvinte împreună pentru a deveni argumente. Bretelele ondulate sunt folosite pentru a defini un bloc care este amânat – cu alte cuvinte, acesta poate fi rulat după restul comenzii pe linia curentă. Caracterele din bretele sunt transmise unei comenzi exact așa cum este scris.,

    Unele puncte să ne amintim

    1. Variabile de substituție nu este permis în interiorul {} aparat dentar
    2. Este folosit pentru a crea lista tip de date

    Exemplu :

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

    %seta numărul {1 2 3 4 5} -> Aici este o lista tip de date

    %pune $numar

    %1 2 3 4 5

    -> metru de aparat dentar

    parantezele Pătrate sunt folosite pentru a crea imbricate comanda. Pur și simplu pune, ieșire de o comandă trecut ca argument la o altă comandă., Parantezele pătrate sunt utilizate pentru a defini un bloc care este rulat înainte de restul comenzii pe linia curentă, iar rezultatul este înlocuit în linie.

    Ex:

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

    () -> runda aparat dentar

    Această comandă este utilizată pentru a crea matrice tip de date și, de asemenea, indica ordinea de efectuare a operațiilor.

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

    aici „a” este o matrice cu valoarea 10 și 20. A se vedea mai jos comenzi pentru a imprima chei, perechi de valori cheie și valori de matrice.,

    pentru imprimarea valorii „Nth” a matricei a, vom folosi Puts $a(N)

    argumentele liniei de comandă TCL

    elementele de date transmise unui script din linia de comandă sunt cunoscute sub numele de argumente. Numărul de argumente de linie de comandă la un script Tcl este trecut ca variabila globală argc . Numele unui script Tcl este trecut la script ca variabila globală argv0, iar restul argumentelor liniei de comandă sunt trecute ca o listă în argv.,

    TCL are 3 variabile pre-definite, cum ar fi

    $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

    ieșire:-

    • Numărul de argumente transmise script-uri: 3
    • Lista de argumente sunt transmise script-ul: 10 20 30
    • numele de script-ul este : arg-script.tcl

    expresia TCL și operatorul

    expresia este construită din operanzi și operatori. Este evaluat cu comanda „expr”. Operatorii sunt evaluați pe baza precedenței și asociativității., Limbajul TCL are operatori încorporați ca mai jos

    Operator aritmetic

    o expresie TCL constă dintr-o combinație de operanzi, operatori și paranteze., Să vedem de exemplu operatorii Aritmetici în TCL

    + Adăugați doi sau mai mulți operanzi

    Ex:

    %set a 10 %set b 20%puts 30

    – Scade doi sau mai mulți operanzi

    Ex:-

    %set a 20 %set b 10%puts 10

    *se Multiplica doi sau mai mulți operanzi

    %set a 20 %set b 10%puts 200

    / Împarte numărătorul de denumerator

    %set a 20 %set b 10%puts 2

    % Modul operator împarte numărătorul de de-numărător dar se întoarce memento

    %set a 20 %set b 10%puts 0

    Operator Relațional

    Verifică dacă valoarea din stânga operand este mai mare decât valoarea operand dreapta., Dacă da, atunci condiția devine adevărată și întoarcere 1 altceva întoarcere 0.

    %set a 20 %set b 10%puts 1

    verificați dacă valoarea operandului stâng este mai mică decât valoarea operandului drept., Dacă da, atunci condiția devine adevărată și return 1 else return 0

    %set a 10 %set b 20%puts 1

    >= Verifică dacă valoarea din stânga operand este mai mare decât sau egală cu valoarea de operand dreapta, dacă da, atunci condiția devine adevărată și return 1 else return 0

    %set a 20 %set b 10%puts 1

    <= Verifică dacă valoarea operand stânga este mai mică decât sau egală cu valoarea de operand dreapta, dacă da, atunci condiția devine adevărată și return 1 else return 0

    %set a 20 %set b 10%puts 0

    !,re nu este egal, atunci condiția devine adevărată și return 1 else return 0

    %set a 20 %set b 10%puts 1

    == Verifică dacă valorile celor doi operanzi sunt egale sau nu, dacă da, atunci condiția devine adevărată și return 1 else return 0

    %set a 20 %set b 10%puts 0

    Operator Logic

    && Dacă ambii operanzi sunt non-zero, apoi condiție devine adevărată și return 1 else return 0

    %set a 20 %set b 10%puts 1

    || Dacă vreunul dintre cei doi operanzi este non-zero, atunci condiția devine adevărată și return 1 else return 0

    %set a 0 %set b 10%puts 1

    !, Folosit pentru a inversa rezultatul oricărei expresii. Aici, în ieșire, puteți vedea valoarea lui ” a ” a devenit acum 1 de la 0. În timp ce valoarea ” b ” a devenit 0 de la 1.

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

    Operator Bitwise

    & (bitwise și) efectuați operația bit by bit și urmați tabelul de mai jos pentru funcționare.,/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 ( ?,:)

    Sintaxa este

    condition-expression? expression_1: expression_2

    Dacă starea-exp este true, exp1 este evaluată și rezultatul este returnat. Dacă cond-exp este fals, exp2 este evaluat și rezultatul său este returnat. În exemplul nostru, exp1 este adevărat, deoarece valoarea A este mai mare decât 6.

    %set A 7%set result %puts $resulttrue

    Tura Operator

    Tura operator este notată cu ori << shift stânga operatorului, sau de >> shift din dreapta operatorului., Pentru << shift stânga operatorului, stânga operanzi valoare este mutat la stânga cu numărul de biți specificați de operand dreapta.

    %set A 7%set result %puts $result

    Pentru >> shift din dreapta operatorului, stânga operanzi valoare este mutat de numărul de biți specificați de operand dreapta.

    %set A 7%set result %puts $result

    operatorul de comparare a șirurilor

    operatorul de comparare a șirurilor compară valoarea ambilor operanzi. Dacă valoarea operandului este aceeași, atunci se va întoarce 1 else return 0., În exemplu, valoarea pentru ambele A și B este 7, prin urmare, rezultat întoarcere 1.

    Ex:

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

    Ne (dacă valoarea de ambii operanzi sunt diferite, atunci se va returna 1 else return 0)

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

    Exponentiala operator

    Pow () și ** ambele sunt același lucru. Întotdeauna returnează valoarea plutitoare.

    * * indică puterea operandului dorit.

    Ex: –

    %set A 7%set result %puts $result49

    list Operator

    dacă valoarea necesară Găsită în lista definită, returnează 1 else return 0. În exemplu, valoarea 1 există în variabila „a”, prin urmare, se va întoarce 1.,

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

    ni, în cazul în care valoarea necesară Găsită în lista definită, atunci se va întoarce 0 altfel întoarcere 1.

    Ex :

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

    TCL fluxului de control și de luare a deciziilor

    Există diverse fluxului de control și de luare a deciziilor de comandă care sunt utilizate pentru a modifica fluxul de un program. Execuțiile programului încep întotdeauna din partea de sus a fișierului sursă până în partea de jos. dacă declarația constă dintr-o expresie booleană urmată de una sau mai multe declarații.

    dacă … dacă expr ?atunci?, dacă expr este evaluat la true, atunci corpul de comandă este executat.

    Ex: –

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

    dacă … altfel declarație

    sintaxa: –

    dacă expresia ? apoi body_1 altceva body_2

    Dacă expresia este evaluată la true, atunci se va reveni body_1 altfel se va reveni 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

    Imbricate dacă..altfel declarație

    aceasta înseamnă una dacă sau altceva..dacă declarația poate fi pusă în interiorul altui dacă sau altceva..dacă declarații.,

    sintaxa: –

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

    Ex:–

    instrucțiunea Switch permite testarea unei variabile pentru egalitate față de o listă de valori. Acesta evaluează lista de valori și returnează rezultatul evaluării respective. Dacă nu se potrivesc valori, atunci valorile implicite vor fi returnate.

    Exemplu:

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

    switch Imbricate

    Imbricate comutator declarație înseamnă declarația de comutare în interiorul unui switch., exemplu: în exemplul următor, valoarea a este 100, și cu același cod vom comuta declarație pentru o altă valoare a b este 200. Out va afișa valoarea pentru ambele a și 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:

    valoarea a este 100

    valoarea b este 200

    TCL buclă declarație

    buclă declarație permite executarea unei declarații sau grup de declarație de mai multe ori. Tcl oferă următoarele tipuri de declarație looping.,

    în timp ce comanda

    când o anumită condiție este adevărată, atunci o declarație sau un grup de repetiții care se află în corpul buclei.

    Sintaxa:

    While {condition} { Statements}

    Ex :

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

    Ieșire :

    o este de 10

    o e 11

    În exemplul de mai sus, „incr” built-in de comandă este utilizat. Aceasta înseamnă că valoarea lui „a”va fi mărită cu 1 până la valoarea maximă (<12).

    pentru comanda

    se execută o secvență de declarații de mai multe ori pe baza unei valori contra., Acesta este crescut sau scăzut automat în timpul fiecărei repetări a buclei.

    Sintaxa :

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

    Exemplu: În exemplu de mai jos valoarea de ” eu ” este setat la 0 și crește până la valoarea <5.

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

    ieșire: –

    Articles

    Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *