mi a TCL?

a TCL egy shell alkalmazás, amely a TCL parancsot a szabványos bemenetről vagy egy fájlból olvassa, és megadja a kívánt eredményt.

a TCL karakterlánc alapú szkriptnyelv, valamint eljárási nyelv. Először John Osterhout hozta létre 1989-ben. Ennek a nyelvnek a fejlesztése egyszerű beágyazott inti ( ) alkalmazások. A nyelv általánosan használt GUI és tesztelés. Például gyors prototípus készítés, adatbázis-interakció tesztelése stb., A TCL alapértelmezés szerint minden egy karakterlánc.,

  • TCL Változó
  • TCL Kifejezés, illetve Üzemeltetője
  • TCL flow control, valamint döntéshozatali
  • Hogyan kell Végrehajtani a TCL

    két módja Van, hogy végre TCL kód

    1. a Windows alapú alkalmazás itt érhető el tcltutor exe fájl
    2. Linux alapú alkalmazás

    A Linux interaktív tolmács, végrehajthatjuk a TCL szkriptek, mint az alábbi

    hozzáférést TCL interaktív munkamenet, adjuk ki a következő parancsot

    TCL szkriptek

    TCL program kell .,TCL kiterjesztés. A UNIX/LINUX minden szkriptje a TCL shell path

    # – val kezdődik!/usr/bin/tclsh

    példa: –

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

    kimenet: Hello World

    a TCL-ben a” Puts ” parancs segítségével üzeneteket nyomtathat a konzolra .a puts szintaxisa

    p > puts alatt van?- nem vonalas? ?channelId? string

    • Nonewline: ez az opcionális paraméter alapértelmezés szerint elnyomja a newline karaktert. Minden
    • Channelid karakterlánchoz új sort helyez el: ez a standard bemeneti csatornához (stdin) és a standard kimeneti csatornához (stdout) használt paraméter.,

    Ex:-

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

    TCL Helyettesítő típus

    háromféle helyettesítések a TCL

    1. Parancs helyettesítő
    2. a Változó helyettesítés
    3. Backslash helyettesítő

    tanuljunk egyenként

    Parancs helyettesítő

    Szögletes zárójelben a használt parancs helyettesítés.

    példa: –

    % puts % 3

    itt először a szögletes zárójelek közötti parancsot értékelik. Az eredmények vissza .a számtani számítás elvégzéséhez használt” expr”.,

    változó helyettesítés

    a TCL változó helyettesítést hajt végre $ jel segítségével.

    példa: –

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

    itt egy” A “nevű változót hozunk létre, amelyhez” 10 ” értéket állítunk be.

    • helyezi a : ez fog nyomtatni string “a”, de nem az értéke ” a “A konzol
    • helyezi $a : akkor nyomtassa ki az értéke” a ” A konzol

    let ‘s execute and verify it. A kimenetet az alábbiak szerint kapja meg.,

    $ ./substitution.tcl

    a

    Backslash szubsztitúció

    a TCL-ben a backslash speciális karakterek elkerülésére, valamint hosszú parancsok több vonalon történő terjesztésére szolgál. Bármely karakter, amely közvetlenül követi a hátlapot, helyettesítés nélkül áll. Az alábbi példában láthatja a “” speciális karaktert, amely a visszapattanás után marad.

    ellenőrizzük ezt egy példával:

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

    megjegyzés: -a TCL “#” bármelyik karakterláncának kommentálásához. A “#” után minden karaktert figyelmen kívül hagy a tclsh shell parancs.,

    TCL változó

    a változó olyan azonosító, amely rendelkezik értékkel. Más szavakkal, a változó egy számítógépes memóriára való hivatkozás, ahol az érték tárolódik.

    A változókat a “set command” hozza létre, és minden változó neve eset érzékeny. Ez azt jelenti, hello, HELLO minden különböző TCL. Nézze meg néhány példát az esetérzékeny változóra.,

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

    kimenet:-

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

    Tcl változók létrehozása

    változók létrehozásához a TCL-ben a “set” parancsot kell használni

    állítsa be a 10

    értéke változó kell használni “$” szimbólum, mint a

    % put $a

    % 10

    így megkapjuk az értéke változó “a”, mint 10.

    Tcl parancs Info exist

    a “set” parancs a változók létrehozására és olvasására szolgál a fentiek szerint. Az unset parancs egy változó megsemmisítésére szolgál., Az “info exists” parancs 1 értéket ad vissza, ha a varName változó (vagy tömb elem) formájában létezik az aktuális kontextusban, ellenkező esetben 0 értéket ad vissza. (lásd az alábbi példát).

    Ex: –

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

    különböző zárójelek és viselkedésük

    {}- > göndör zárójelek

    göndör zárójelek a TCL csoport szavaiban együtt érvekké válnak. A göndör zárójelek egy elhalasztott blokk meghatározására szolgálnak – más szóval, az aktuális sor többi parancsa után futtatható. A zárójelben lévő karakterek pontosan az írott parancshoz kerülnek., Néhány pont, hogy emlékszel

    1. a Változó helyettesítés nem kerülhetnek {} zárójelek
    2. Ez létrehozásához használt lista adattípus

    Például :-

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

    %számának beállítása {1 2 3 4 5} -> Itt száma van egy lista adattípus

    %helyezi $száma

    %1 2 3 4 5

    -> szögletes zárójelek

    a Szögletes zárójelben található létrehozásához használt beágyazott parancsot. Egyszerűen fogalmazva, az egyik parancs kimenete argumentumként továbbadt egy másik parancshoz., Szögletes zárójelben definiálhatunk egy blokkot, amely a parancs többi része előtt fut az aktuális vonalon, az eredmény pedig a sorba kerül.

    Ex: –

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

    () -> round braces

    Ez a parancs tömb adattípus létrehozására szolgál, valamint az operátor elsőbbségét jelzi.

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

    itt” a ” egy 10 és 20 értékű tömb. Lásd alább parancsok nyomtatni kulcsok, kulcs érték párok és értékek tömb.,

    az a tömb “Nth” értékének nyomtatásához $a(N)

    Tcl parancssori argumentumokat használunk

    a parancssorból egy parancsfájlba átadott adatok argumentumai argumentumokként ismertek. A parancssori argumentumok száma Egy Tcl szkripthez az argc globális változóként kerül átadásra . A TCL szkript neve a globális argv0 változóként kerül a szkriptbe, a parancssori argumentumok többi része pedig argv-listaként kerül átadásra.,

    TCL 3 előre definiált változók, mint a

    $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

    kimenet:-

    • Száma érvek telt el, hogy a szkriptek: 3
    • Lista érvek át a script: 10 20 30
    • a neve A forgatókönyv : arg-script.a tcl

    Tcl kifejezés és operátor

    kifejezés operandusokból és operátorokból épül fel. Az “expr” paranccsal értékelik. Az operátorokat precedencia és asszociativitás alapján értékelik., A TCL nyelv beépített operátorai a következők:

    aritmetikai operátor

    a TCL kifejezés operandusok, operátorok és zárójelek kombinációjából áll., Lássuk például az Aritmetikai operátorok a TCL

    + Add két vagy több operandusok

    Ex:-

    %set a 10 %set b 20%puts 30

    – Micsoda két vagy több operandusok

    Ex:-

    %set a 20 %set b 10%puts 10

    *a Halmozottan két vagy több operandusok

    %set a 20 %set b 10%puts 200

    / Oszd számláló által denumerator

    %set a 20 %set b 10%puts 2

    % Modulus operátor osztja számláló által, de a számláló, de visszatér emlékeztető

    %set a 20 %set b 10%puts 0

    Relációs Operátor

    Ellenőrzi, ha az értéket a bal oldali operandus nagyobb, mint az érték a jobb oldali operandus., Ha igen, akkor a feltétel igaz lesz, és 1 másik visszatér 0.

    %set a 20 %set b 10%puts 1

    ellenőrizze, hogy a bal operand értéke kisebb-e, mint a jobb operandus értéke., Ha igen, akkor feltétel lesz, igaz-vissza 1 más return 0

    %set a 10 %set b 20%puts 1

    >= Ellenőrzi, ha az értéket a bal oldali operandus nagyobb vagy egyenlő, mint az értéke igaz operandus, ha igen, akkor feltétel lesz, igaz-vissza 1 más return 0

    %set a 20 %set b 10%puts 1

    <= Ellenőrzi, ha az értéket a bal oldali operandus kisebb vagy egyenlő, mint az értéke igaz operandus, ha igen, akkor feltétel lesz, igaz-vissza 1 más return 0

    %set a 20 %set b 10%puts 0

    !,újra nem egyenlő, akkor a feltétel válik, igaz, visszatérni 1 más return 0

    %set a 20 %set b 10%puts 1

    == Ellenőrzi, hogy az értékek a két operandus egyenlő vagy nem, ha igen, akkor feltétel lesz, igaz-vissza 1 más return 0

    %set a 20 %set b 10%puts 0

    Logikai Operátor

    && Ha mindkét operandus nem nulla, akkor feltétel lesz, igaz-vissza 1 más return 0

    %set a 20 %set b 10%puts 1

    || Ha a két operandus nem nulla, akkor a feltétel válik, igaz, visszatérni 1 más return 0

    %set a 0 %set b 10%puts 1

    !, Bármely kifejezés eredményének megfordítására szolgál. Itt a kimeneten láthatja, hogy az ” a ” értéke most 1-től 0-ig vált. Míg a ” b ” értéke 0 lett 1-től.

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

    Bitenkénti operátor

    & (bitenkénti és) bitenkénti művelet végrehajtása és a művelethez kövesse az alábbi táblázatot.,/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 ( ?,:)

    A szintaxis

    condition-expression? expression_1: expression_2

    Ha a feltétel-exp igaz, az exp1 kiértékelésre kerül, és az eredmény visszatér. Ha a cond-exp hamis, akkor az exp2 kiértékelésre kerül, majd az eredmény visszakerül. Példánkban az exp1 igaz, mivel az a értéke nagyobb, mint 6.

    %set A 7%set result %puts $resulttrue

    Shift operátor

    a Shift operátort vagy << bal shift operátor vagy a >> jobb shift operátor., << bal shift operátor esetén a bal oldali operandus értékét balra mozgatja a jobb operandus által megadott bitek száma.

    %set A 7%set result %puts $result

    a >> jobb shift operátor esetén a bal operandus értékét a jobb operandus által megadott bitek száma mozgatja jobbra.

    %set A 7%set result %puts $result

    karakterlánc-összehasonlító operátor

    karakterlánc-összehasonlító operátor összehasonlítja mindkét operandus értékét. Ha az értéke operandus azonos, akkor vissza fog térni 1 else vissza 0., A példaérték mind az A, mind a B esetében 7, ezért az eredmény visszatérése 1.

    Ex: –

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

    Ne (ha mindkét operandus értéke eltérő, akkor 1 más visszatér 0)

    Exponenciációs operátor

    p > Pow () és * mindkettő azonos. Mindig változó értéket ad vissza.

    * * jelzi a kívánt operandus teljesítményét.

    Ex: –

    %set A 7%set result %puts $result49

    list Operator

    Ha a kívánt érték megtalálható a megadott listában, akkor visszaadja 1 else return 0. Az 1.példában az ” a ” változó létezik, így az 1.,

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

    ni, ha a megadott listában található szükséges érték, Akkor 0 más visszatér 1.

    Ex: –

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

    TCL flow control and decision making

    vannak különböző flow control and decision making command which are used to alter the flow of a program. A Program végrehajtása mindig a forrásfájl tetejétől az aljáig kezdődik.

    Ha a kijelentés logikai kifejezésből áll, amelyet egy vagy több kijelentés követ.

    If … utasítás

    szintaxis: –

    ha expr?akkor?, test

    Ha az expr értéke true, akkor a parancs teste végrehajtásra kerül.

    Ex: –

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

    If … else statement

    Syntax: –

    if expression ? ezután body_1 else body_2

    Ha az expressziót true értékre értékelik, akkor visszaadja a body_1-et, akkor visszaadja a 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

    beágyazott if..else utasítás

    Ez azt jelenti, egy, ha vagy máshol..ha nyilatkozatot lehet helyezni egy másik, ha vagy máshol..ha nyilatkozatok.,

    szintaxis: –

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

    Ex:–

    Switch statement

    a switch utasítás lehetővé teszi, hogy egy változót egyenlőségre teszteljenek az értékek listájával szemben. Értékeli az értékek listáját, és visszaadja az értékelés eredményét. Ha egyetlen érték sem egyezik, akkor az alapértelmezett értékek vissza lesznek adva.

    példa:

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

    beágyazott switch

    beágyazott switch statement azt jelenti, switch utasítás belsejében egy kapcsoló nyilatkozat.,

    szintaxis: –

    példa: a következő példában az a értéke 100, ugyanazzal a kóddal pedig egy másik B érték 200. A kimenet mind az a, mind a b értéket mutatja.

    #!/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" } } } }

    kimenet:

    az a értéke 100

    a b értéke 200

    Tcl Loop utasítás

    hurok utasítás lehetővé teszi egy utasítás vagy csoport többszöri végrehajtását. A TCL a következő típusú hurkolási nyilatkozatot nyújtja.,

    míg a parancs

    Ha egy adott feltétel igaz, akkor egy utasítás vagy utasításcsoport megismétlődik, amelyek a hurok testében vannak.

    szintaxis:

    While {condition} { Statements}

    Ex :-

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

    kimenet :

    a 10

    a 11

    a fenti példában az “incr” beépített parancsot használjuk. Ez azt jelenti, hogy az”a”értéke a maximális értékig 1-gyel növekszik (<12).

    a

    parancshoz többször végrehajtja a kijelentések sorozatát egy számláló érték alapján., A hurok minden egyes ismétlése során automatikusan növekszik vagy csökken.

    szintaxis: –

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

    példa: az alábbi példában az”i” értéke 0-ra van állítva, és a < 5 értékig növekszik.

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

    kimenet: –

    Articles

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük