co je Tcl?

TCL je shell aplikace, která čte příkaz TCL ze svého standardního vstupu nebo ze souboru a dává požadované výsledky.

TCL je skriptovací jazyk založený na řetězci a také procedurální jazyk. Poprvé ji vytvořil John Osterhout v roce 1989. Účelem vývoje tohoto jazyka je snadné vložitti () aplikace. Jazyk se běžně používá pro GUI a testování. Například rychlé prototypování, testování interakce databáze atd., Ve výchozím nastavení TCL je vše řetězec.,

  • TCL Proměnné
  • TCL Výraz a Operátor
  • TCL tok řízení a rozhodování
  • Jak Spustit TCL

    Existují dva způsoby, jak spustit TCL kód,

    1. Windows aplikace, je k dispozici zde tcltutor exe souboru
    2. Linuxová aplikace

    V Linuxu interaktivní interpret, můžeme spustit TCL skripty jako pod

    pro přístup K TCL interaktivní relace, spusťte následující příkaz,

    TCL skripty

    TCL program by měl mít .,rozšíření tcl. Každý skript v Unixu / Linuxu začíná TCL Shell path

    #!/usr/bin/tclsh

    Příklad:

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

    Výstup: Hello World

    V TCL, „Staví“ Příkaz se používá k tisku zpráv do konzole .syntaxe put je nižší než

    put?- nonewline? ?channelId? řetězec

    • Nonewline: tento volitelný parametr ve výchozím příkazu potlačuje znak newline. Vkládá nový řádek do každého řetězce
    • Channelid: tento parametr se používá pro standardní vstupní kanál (stdin) a standardní výstupní kanál (stdout).,

    Ex:-

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

    TCL Substituce typu

    k Dispozici jsou tři druhy substituce v TCL.

    1. Příkaz substituce
    2. Variabilní substituce
    3. zpětné Lomítko substituce

    Pojďme studovat jeden po druhém

    Příkaz substituce.

    hranaté závorky jsou použity pro příkaz substituce.

    příklad: –

    % puts % 3

    zde je nejprve vyhodnocen příkaz mezi hranatými závorkami. Výsledky jsou vráceny .“expr“ používaný pro provádění aritmetického výpočtu.,

    variabilní substituce

    TCL provádí variabilní substituci pomocí $ sign.

    příklad: –

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

    zde vytvoříme proměnnou nazvanou „a“ a nastavíme hodnotu „10“.

    • vloží: vytiskne řetězec „a“, ale ne hodnotu “ a „na konzoli
    • vloží $a : vytiskne hodnotu“ a “ na konzoli

    pojďme jej provést a ověřit. Výstup získáte níže.,

    $ ./substitution.tcl

    a

    substituce zpětného lomítka

    v Tcl se zpětné lomítko používá pro únik speciálních znaků i pro šíření dlouhých příkazů přes více řádků. Jakýkoli znak bezprostředně po zpětném lomítku bude stát bez náhrady. V níže uvedeném příkladu, můžete vidět speciální znak “ „, zůstává po zpětné lomítko.

    ověřme to pomocí příkladu

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

    POZNÁMKA: -Chcete-li komentovat jakýkoli řetězec v TCL “ # “ se používá. Všechny znaky po „#“ jsou ignorovány příkazem tclsh shell.,

    proměnná TCL

    proměnná je identifikátor, který drží hodnotu. Jinými slovy, proměnná je odkaz na paměť počítače, kde je hodnota uložena.

    proměnné jsou vytvářeny příkazem „set command“a všechna jména proměnných jsou malá a velká písmena. To znamená Ahoj, Ahoj, Ahoj všichni jsou v TCL jiní. Podívejte se na nějaký příklad proměnné citlivé na velká a malá písmena.,

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

    Výstup:

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

    Vytvoření TCL Proměnné

    K vytvoření proměnných v TCL, budete muset použít „nastavení“ příkaz

    Nastavení 10

    Chcete-li získat hodnotu proměnné muset použít „$“ symbol jako

    % dát $a

    % 10

    Tak jsme se hodnota proměnné “ a “ jako 10.

    informace o příkazu Tcl existují

    příkaz „set“ se používá k vytváření a čtení proměnných, jak je uvedeno výše. Příkaz unset se používá ke zničení proměnné., Příkaz“ info existuje “ vrátí 1, pokud varName existuje jako proměnná (nebo prvek pole) v aktuálním kontextu, jinak vrátí 0. (viz příklad níže).

    Příklad:

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

    Různé závorky a jejich chování

    {} -> Složené závorky,

    Složených závorek se v TCL group slova dohromady, aby se stal argumenty. Kudrnaté závorky se používají k definování bloku, který je odložen-jinými slovy, může být spuštěn po zbytku příkazu na aktuálním řádku. Znaky v závorkách jsou předány příkazu přesně tak, jak je napsáno.,

    Některé body k zapamatování,

    1. Variabilní střídání není povoleno uvnitř {} závorky
    2. Je použit k vytvoření seznamu datový typ

    Příklad:

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

    %nastavit číslo {1 2 3 4 5} -> číslo je v seznamu typ dat

    %puts $počet

    %1 2 3 4 5

    -> hranatých závorek

    hranaté závorky se používají k vytvoření vnořeného příkazu. Jednoduše řečeno, výstup jednoho příkazu předán jako argument jinému příkazu., Hranaté závorky se používají k definování bloku, který je spuštěn před zbytkem příkazu na aktuálním řádku, a výsledek je nahrazen do řádku.

    Příklad:

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

    () -> kulaté závorky,

    Tento příkaz se používá k vytvoření pole typu dat a také uveďte operátor přednost.

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

    zde“ a “ je pole s hodnotou 10 a 20. Viz níže příkazy pro tisk klíčů, dvojice hodnot klíčů a hodnoty pole.,

    Pro tisk „N“ hodnota pole, použijeme Dává $a(N)

    TCL Command-line argumenty,

    Položky data předaná skriptu z příkazového řádku jsou známé jako argumenty. Počet argumentů příkazového řádku do skriptu Tcl je předán jako globální proměnná argc . Název skriptu Tcl je předán skriptu jako globální proměnná argv0 a zbytek argumentů příkazového řádku je předán jako seznam v argv.,

    TCL má 3 předem definované proměnné, jako jsou

    $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

    výstup:

    • Počet argumentů předaný skripty: 3
    • Seznam argumentů jsou předány do skriptu: 10 20 30
    • název skriptu je : arg-script.Tcl

    Tcl výraz a operátor

    výraz je konstruován z operandů a operátorů. Vyhodnocuje se příkazem „expr“. Operátoři jsou hodnoceni na základě precedence a asociativity., Jazyk TCL má vestavěné operátory, jak je uvedeno níže

    aritmetický operátor

    výraz TCL se skládá z kombinace operandů, operátorů a závorek., Uvidíme, příklad Aritmetické operátory v TCL.

    + Přidat dva nebo více operandů

    Příklad:

    %set a 10 %set b 20%puts 30

    – Odečte dvě nebo více operandy

    Ex:-

    %set a 20 %set b 10%puts 10

    *Vynásobte dvě nebo více operandy

    %set a 20 %set b 10%puts 200

    / Vydělit čitatel denumerator

    %set a 20 %set b 10%puts 2

    % Modul operátor dělí čitatel de-čitatel ale vrací připomenutí,

    %set a 20 %set b 10%puts 0

    Relační Operátor

    Kontroluje, zda hodnota levý operand je větší než hodnota pravého operandu., Pokud ano, pak se podmínka stane pravdivou a vrátí se 1 jiný návrat 0.

    %set a 20 %set b 10%puts 1

    zkontrolujte, zda je hodnota levého operandu menší než hodnota pravého operandu., Pokud ano, pak je podmínka pravdivá a vrátí 1, jinak vrátí 0,

    %set a 10 %set b 20%puts 1

    >= Zkontroluje, je-li hodnota levého operandu je větší než nebo rovna hodnotě pravého operandu, pokud ano, pak je podmínka pravdivá a vrátí 1, jinak vrátí 0,

    %set a 20 %set b 10%puts 1

    <= Zkontroluje, je-li hodnota levého operandu je menší nebo rovna hodnotě pravého operandu, pokud ano, pak je podmínka pravdivá a vrátí 1, jinak vrátí 0,

    %set a 20 %set b 10%puts 0

    !,re není stejná podmínka se stává pravdivou a return 1 else return 0

    %set a 20 %set b 10%puts 1

    == Kontroluje, zda hodnoty dvou operandů jsou stejné, nebo ne, pokud ano, pak je podmínka pravdivá a vrátí 1, jinak vrátí 0,

    %set a 20 %set b 10%puts 0

    Logický Operátor

    && Pokud oba operandy jsou nenulové, pak podmínka se stává pravdivou a return 1 else return 0

    %set a 20 %set b 10%puts 1

    || Pokud se některý ze dvou operandů je non-nula, pak podmínka se stává pravdivou a return 1 else return 0

    %set a 0 %set b 10%puts 1

    !, Používá se ke zvrácení výsledku jakéhokoli výrazu. Zde na výstupu můžete vidět, že hodnota “ a “ se nyní stala 1 z 0. Zatímco hodnota “ b “ se stala 0 od 1.

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

    Bitový Operátor

    & (bitové and) provést kousek po kousku provozu a postupujte podle níže uvedené tabulky pro provoz.,/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 ( ?,:)

    syntaxe je

    condition-expression? expression_1: expression_2

    Pokud je podmínka-exp pravdivá, vyhodnotí se exp1 a výsledek se vrátí. Pokud je cond-exp nepravdivý, vyhodnotí se exp2 a vrátí se jeho výsledek. V našem příkladu platí exp1, protože hodnota a je větší než 6.

    %set A 7%set result %puts $resulttrue

    Shift Operator

    Shift operátor je označen buď << levý shift operátor, nebo >> pravý shift operator., << levý shift operátor, levá operandy hodnota je přesunuta doleva o počet bitů určený pravý operand.

    %set A 7%set result %puts $result

    na >> pravý shift operátor, levá operandy hodnota je přesunuta vpravo o počet bitů určený pravý operand.

    %set A 7%set result %puts $result

    operátor porovnání řetězců

    operátor porovnání řetězců porovnává hodnotu obou operandů. Pokud je hodnota operandu stejná, vrátí se 1 jiný návrat 0., V příkladu hodnota pro A I B je 7, proto výsledek návrat 1.

    Příklad:

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

    Ne (pokud je hodnota obou operandů jsou různé, pak to bude return 1 else return 0),

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

    operátor Umocňování.

    Pow () a ** oba jsou stejné. Vždy vrací plovoucí hodnotu.

    * * indikuje napájení požadovaného operandu.

    Příklad:

    %set A 7%set result %puts $result49

    Seznam Provozovatel

    Pokud požadované hodnoty nalezené ve vymezené seznamu, vrátí 1, jinak vrátí 0. V příkladu hodnota 1 existuje v proměnné ‚ a ‚ proto se vrátí 1.,

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

    ni, pokud je požadovaná hodnota nalezená v definovaném seznamu, vrátí 0 else return 1.

    Příklad:

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

    TCL tok řízení a rozhodování

    Existují různé regulace průtoku a rozhodovací příkaz, který se používá ke změně toku programu. Spuštění programu vždy začíná od horní části zdrojového souboru dolů.

    Pokud se příkaz skládá z booleovského výrazu následovaného jedním nebo více příkazy.

    If … příkaz

    syntaxe: –

    Pokud expr ?tak?, tělo

    Pokud je expr vyhodnocen na true, provede se tělo příkazu.

    Ex: –

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

    If … jiný příkaz

    syntaxe: –

    if výraz ? pak body_1 jiného body_2

    Pokud je výraz vyhodnocen jako true, pak se vrátit body_1 jinde to bude návrat 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

    Vnořené if..else statement

    znamená to jedno, jestli nebo jiné..pokud lze prohlášení vložit do jiného, Pokud nebo jinak..pokud prohlášení.,

    Syntaxe:

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

    Ex:–

    příkaz Switch

    příkaz switch umožňuje proměnné, které mají být testovány pro rovnost vůči seznamu hodnot. Vyhodnocuje seznam hodnot a vrací výsledek tohoto hodnocení. Pokud se žádné hodnoty neshodují, vrátí se výchozí hodnoty.

    Příklad:

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

    Vnořené přepínač

    Vnořený příkaz switch znamená, že příkaz switch uvnitř příkazu switch.,

    syntaxe: –

    příklad: v následujícím příkladu je hodnota a 100 a se stejným kódem přepneme příkaz na jinou hodnotu b je 200. Ten se bude zobrazovat hodnotu pro obě a a 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" } } } }

    Výstup:

    hodnota je 100.

    hodnota b je 200.

    TCL Smyčky prohlášení,

    Loop prohlášení umožňuje provádění prohlášení nebo skupina prohlášení vícekrát. Tcl poskytuje následující typy smyčkového příkazu.,

    zatímco příkaz

    je-li daný stav pravdivý, pak se opakuje příkaz nebo skupina příkazů, které jsou v těle smyčky.

    Syntaxe:

    While {condition} { Statements}

    Příklad:

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

    Výstup :

    je 10

    11

    Ve výše uvedeném příkladu, „incr“ vestavěný příkaz se používá. Znamená to, že hodnota „a“se zvýší o 1 až do maximální hodnoty (<12).

    pro příkaz

    provádí posloupnost příkazů vícekrát na základě hodnoty čítače., Během každého opakování smyčky se automaticky zvyšuje nebo snižuje.

    Syntaxe :

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

    Příklad: V níže uvedeném příkladu hodnota “ i “ je nastavena na 0 a zvýšen až do hodnoty <5.

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

    výstup: –

    Articles

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *