Was ist TCL?

TCL ist eine Shell-Anwendung, die den Befehl TCL aus der Standardeingabe oder aus einer Datei liest und die gewünschten Ergebnisse liefert.

TCL ist eine String-basierte Skriptsprache und auch eine prozedurale Sprache. Es wurde erstmals 1989 von John Osterhout erstellt. Der Zweck der Entwicklung dieser Sprache ist einfach eingebettet inti ( – ) Anwendungen. Die Sprache wird häufig für GUIs und Tests verwendet. Zum Beispiel Rapid Prototyping, Testen der Datenbankinteraktion usw., In TCL ist standardmäßig alles eine Zeichenfolge.,

  • TCL-Variable
  • TCL-Ausdruck und-operator
  • TCL-Flusssteuerung und-entscheidungsfindung
  • Ausführen von TCL

    Es gibt zwei Möglichkeiten, TCL-Code auszuführen

    1. Windows-basierte Anwendung ist hier verfügbar tcltutor exe-Datei
    2. Linux-basierte Anwendung

    In Linux interactive interpreter, wir können die TCL-Skripte wie folgt ausführen

    Um auf die interaktive TCL-Sitzung zuzugreifen, führen Sie den folgenden Befehl aus

    TCL-Skripte

    TCL-Programm sollte eine haben .,tcl-Erweiterung. Jedes Skript in UNIX/LINUX beginnt mit der TCL-shell-path

    #!/usr/bin/tclsh

    Beispiel: –

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

    Ausgabe: Hello World

    In TCL wird der Befehl „Puts“ zum Drucken von Nachrichten an die Konsole verwendet .syntax von Puts ist unten

    puts?-nonewline? ?channelId? string

    • Nonewline: Dieser optionale Parameter unterdrückt standardmäßig das Zeilenumbruchzeichen. Es setzt eine neue Zeile zu jeder Zeichenfolge
    • Channelid: Dieser Parameter für Standard-Eingangskanal (stdin) und Standard-Ausgangskanal (stdout) verwendet.,

    Ex:-

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

    TCL Substitution typ

    Es gibt drei arten von substitutionen in TCL

    1. Befehl substitution
    2. Variable substitution
    3. Backslash substitution

    Lassen sie uns studie eine durch eine

    Befehl substitution

    Platz klammern werden für die Befehlsersetzung verwendet.

    Beispiel: –

    % puts % 3

    Hier wird zuerst der Befehl zwischen den eckigen Klammern ausgewertet. Die Ergebnisse werden zurückgegeben .“expr“ für die Durchführung der arithmetischen Berechnung verwendet.,

    Variablensubstitution

    TCL führt Variablensubstitution mit Hilfe von $ sign durch.

    Beispiel: –

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

    Hier erstellen wir eine Variable namens“ a „und setzen den Wert“ 10 “ darauf.

    • puts a : Es wird String „a“ gedruckt, aber nicht der Wert von ‚a‘ an die Konsole
    • puts $a: Es wird der Wert von ‚a‘ an die Konsole

    Lassen Sie es uns ausführen und überprüfen. Sie erhalten die Ausgabe wie folgt.,

    $ ./substitution.tcl

    a

    Backslash-substitution

    In Tcl, der backslash entkommen Sonderzeichen sowie für die Verbreitung lange Befehle über mehrere Zeilen. Jedes Zeichen unmittelbar nach dem Backslash wird ohne Ersatz stehen. Im folgenden Beispiel sehen Sie Sonderzeichen““, bleibt nach dem Backslash.

    Lassen Sie uns dies anhand eines Beispiels überprüfen

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

    HINWEIS: -Zum Kommentieren wird jede Zeichenfolge in TCL “ # “ verwendet. Alle Zeichen nach dem “ # “ werden vom Befehl tclsh shell ignoriert.,

    TCL-Variable

    Eine variable ist ein Bezeichner, hat einen Wert. Mit anderen Worten, eine Variable ist ein Verweis auf einen Computerspeicher, in dem der Wert gespeichert ist.

    Variablen werden mit „set command“ erstellt und alle Variablennamen sind Groß-und Kleinschreibung. Es bedeutet hallo, Hallo, HALLO alle sind in TCL anders. Schauen Sie sich ein Beispiel für Groß-und Kleinschreibung an.,

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

    Ausgabe:-

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

    Erstellen von TCL-Variablen

    Um Variablen in TCL zu erstellen, müssen Sie den Befehl „set“ verwenden

    Setzen Sie eine 10

    Um den Wert der Variablen zu erhalten, müssen Sie das Symbol „$“ wie

    % put $a

    % 10

    So erhalten wir den Wert der Variablen ‚a‘ als 10.

    TCL-Befehlsinformationen vorhanden

    Der Befehl“ set “ wird zum Erstellen und Lesen von Variablen verwendet, wie oben gezeigt. Der Befehl unset wird verwendet, um eine Variable zu zerstören., Der Befehl“ info exists “ gibt 1 zurück, wenn varName im aktuellen Kontext als Variable (oder Array-Element) vorhanden ist, andernfalls 0. ( siehe Beispiel unten).

    Ex: –

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

    Verschiedene Klammern und ihr Verhalten

    {} -> Geschweifte Klammern

    Geschweifte Klammern in TCL gruppieren Wörter zu Argumenten. Geschweifte Klammern werden verwendet, um einen Block zu definieren, der verzögert ist – mit anderen Worten, er kann NACH dem Rest des Befehls in der aktuellen Zeile ausgeführt werden. Zeichen in geschweiften Klammern werden genau wie geschrieben an einen Befehl übergeben.,

    Einige punkte zu erinnern

    1. Variable substitution ist nicht erlaubt innerhalb {} klammern
    2. Es verwendet zu erstellen liste daten typ

    Beispiel :-

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

    %set anzahl {1 2 3 4 5} -> Hier anzahl ist eine liste daten typ

    %puts $number

    %1 2 3 4 5

    -> quadratische Klammern

    Eckige Klammern werden verwendet, um verschachtelte Befehle zu erstellen. Einfach ausgedrückt, Ausgabe eines Befehls als Argument an einen anderen Befehl übergeben., Eckige Klammern werden verwendet, um einen Block zu definieren, der VOR dem Rest des Befehls in der aktuellen Zeile ausgeführt wird, und das Ergebnis wird in die Zeile eingefügt.

    Beispiel: –

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

    () -> runde Klammern

    Dieser Befehl wird verwendet, um den Array-Datentyp zu erstellen und auch die Priorität des Operators anzugeben.

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

    Hier ist“ a “ ein Array mit den Werten 10 und 20. Siehe unten Befehle zum Drucken von Schlüsseln, Schlüsselwertpaaren und Werten des Arrays.,

    Für den „N-ten“ Wert von Array a verwenden wir Puts $a (N)

    TCL-Befehlszeilenargumente

    Datenelemente, die über die Befehlszeile an ein Skript übergeben werden, werden als Argumente bezeichnet. Die Anzahl der Befehlszeilenargumente an ein Tcl-Skript wird als globale Variable argc übergeben . Der Name eines Tcl-Skripts wird als globale Variable argv0 an das Skript übergeben, und der Rest der Befehlszeilenargumente wird als Liste in argv übergeben.,

    TCL hat 3 vordefinierte Variablen wie

    $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

    Ausgabe:-

    • Anzahl der an die Skripte übergebenen Argumente: 3
    • Liste der Argumente wird an das Skript übergeben: 10 20 30
    • Der Name des Skripts ist : arg – Skript.tcl

    TCL Ausdruck und Operator

    Ausdruck wird aus Operanden und Operatoren konstruiert. Es wird mit dem Befehl „expr“ ausgewertet. Operatoren werden basierend auf Priorität und Assoziativität ausgewertet., Die TCL-Sprache verfügt über integrierte Operatoren wie folgt

    Arithmetischer Operator

    Ein TCL-Ausdruck besteht aus einer Kombination von Operanden, Operatoren und Klammern., Beispiel für arithmetische Operatoren in TCL

    + Zwei oder mehr Operanden hinzufügen

    Ex:-

    %set a 10 %set b 20%puts 30

    – Subtrahiert zwei oder mehr Operanden

    Ex:-

    %set a 20 %set b 10%puts 10

    *Multiplizieren Sie zwei oder mehr Operanden

    %set a 20 %set b 10%puts 200

    / Divide numerator by denumerator

    %set a 20 %set b 10%puts 2

    % Modulus operator divides numerator by de-numerator but returns numerator

    %set a 20 %set b 10%puts 0

    Relational Operator

    Prüft, ob der Wert des linken Operanden größer als der Wert des rechten Operanden ist., Wenn ja, dann wird Bedingung wahr und return 1 sonst return 0.

    %set a 20 %set b 10%puts 1

    Überprüfen Sie, ob der Wert des linken Operanden kleiner als der Wert des rechten Operanden ist., Wenn ja, dann ist die Bedingung wahr wird und return 1 else return 0

    %set a 10 %set b 20%puts 1

    >= Prüft, ob der Wert des linken Operanden größer als oder gleich dem Wert des rechten Operanden, wenn ja, dann ist die Bedingung wahr wird und return 1 else return 0

    %set a 20 %set b 10%puts 1

    <= Prüft, ob der Wert des linken Operanden kleiner oder gleich dem Wert des rechten Operanden, wenn ja, dann ist die Bedingung wahr wird und return 1 else return 0

    %set a 20 %set b 10%puts 0

    !,re nicht gleich dann Bedingung wird wahr und return 1 sonst return 0

    %set a 20 %set b 10%puts 1

    == Prüft, ob die Werte von zwei Operanden gleich sind oder nicht, wenn ja dann Bedingung wird wahr und return 1 sonst return 0

    %set a 20 %set b 10%puts 0

    Logische Operator

    && Wenn beide Operanden ungleich Null sind, dann wird Bedingung wahr und return 1 sonst return 0

    %set a 20 %set b 10%puts 1

    || Wenn einer der beiden Operanden ungleich Null ist, dann wird Bedingung wahr und return 1 sonst return 0

    %set a 0 %set b 10%puts 1

    !, Wird verwendet, um das Ergebnis eines Ausdrucks umzukehren. Hier in der Ausgabe können Sie sehen, dass der Wert von ‚a‘ jetzt 1 von 0 geworden ist. Während der Wert von ‚ b ‚ von 1 zu 0 geworden ist.

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

    Bitweiser Operator

    & (bitweise und) Führen Sie eine bitweise Operation durch und folgen Sie der folgenden Tabelle für den Betrieb.,/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 ( ?,:)

    Syntax ist

    condition-expression? expression_1: expression_2

    Wenn Bedingung-exp wahr ist, wird exp1 ausgewertet und das Ergebnis zurückgegeben. Wenn cond-exp false ist, wird exp2 ausgewertet und das Ergebnis zurückgegeben. In unserem Beispiel ist exp1 wahr, da der Wert von A größer als 6 ist.

    %set A 7%set result %puts $resulttrue

    Shift Operator

    Shift operator wird entweder mit << left shift operator oder mit dem >> right shift operator bezeichnet., Für << left shift operator wird der Wert der linken Operanden um die Anzahl der vom rechten Operanden angegebenen Bits nach links verschoben.

    %set A 7%set result %puts $result

    Für den >> right shift operator wird der Wert der linken Operanden um die Anzahl der vom rechten Operanden angegebenen Bits nach rechts verschoben.

    %set A 7%set result %puts $result

    String-Vergleichsoperator

    String-Vergleichsoperator vergleicht den Wert beider Operanden. Wenn der Wert des Operanden gleich ist, gibt er 1 zurück und gibt 0 zurück., Im Beispiel ist der Wert für A und B 7, daher gibt das Ergebnis 1 zurück.

    Ex: –

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

    Ne (wenn der Wert beider Operanden unterschiedlich ist, wird 1 zurückgegeben, andernfalls 0)

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

    Exponentiationsoperator

    Pow () und ** beide sind gleich. Es gibt immer einen schwebenden Wert zurück.

    * * gibt die Leistung des gewünschten Operanden an.

    Ex: –

    %set A 7%set result %puts $result49

    Listenoperator

    Wenn der erforderliche Wert in der definierten Liste gefunden wird, gibt er 1 zurück, sonst wird 0 zurückgegeben. Im Beispiel existiert Wert 1 in der Variablen ‚a‘, daher wird 1 zurückgegeben.,

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

    ni, wenn der erforderliche Wert in der definierten Liste gefunden wird, gibt er 0 zurück, sonst gibt er 1 zurück.

    Ex -: –

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

    TCL-Ablaufsteuerung und der Entscheidungsfindung

    Es gibt verschiedene flow control und Entscheidungsfindung Befehl, die sind verwendet zu ändern den Ablauf eines Programms. Programmausführungen beginnen immer vom Anfang der Quelldatei bis zum Ende.

    If-Anweisung besteht aus booleschen Ausdruck gefolgt von einer oder mehreren Anweisungen.

    Wenn … Anweisung

    Syntax:-

    wenn expr ?dann?, body

    wenn expr auf true ausgewertet wird, wird der Befehlskörper ausgeführt.

    Ex -: –

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

    Wenn … else-Anweisung

    Syntax :-

    Wenn der Ausdruck ? dann body_1 else body_2

    Wenn der Ausdruck auf true ausgewertet wird, dann wird body_1 zurückgegeben sonst wird body_2

    zurückgegeben 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

    Verschachtelt if..else-Anweisung

    Es bedeutet ein if oder else..if Anweisung kann in ein anderes if oder else gesetzt werden..wenn Aussagen.,

    Syntax: –

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

    Ex:–

    Switch statement

    Mit der switch-Anweisung kann eine Variable anhand einer Werteliste auf Gleichheit getestet werden. Es wertet die Liste der Werte aus und gibt das Ergebnis dieser Auswertung zurück. Wenn keine Werte übereinstimmen, werden Standardwerte zurückgegeben.

    Beispiel:

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

    Verschachtelter Schalter

    Verschachtelte switch Anweisung bedeutet switch Anweisung innerhalb einer switch Anweisung.,

    Syntax: –

    Beispiel: Im folgenden Beispiel ist der Wert von a 100, und mit demselben Code wechseln wir die Anweisung für einen anderen Wert von b ist 200. Der out zeigt den Wert für a und b an.

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

    Ausgabe:

    Der Wert von a ist 100

    Der Wert von b ist 200

    TCL Loop statement

    Loop statement ermöglicht das mehrfache Ausführen einer Anweisung oder Gruppe von Anweisungen. Tcl bietet die folgenden Arten von looping-Anweisung.,

    While command

    Wenn eine gegebene Bedingung wahr ist, wiederholt sich eine Anweisung oder Gruppe von Anweisungen, die sich im Schleifenkörper befinden.

    Syntax:

    While {condition} { Statements}

    Ex :-

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

    Ausgabe :

    a ist 10

    a ist 11

    Im obigen Beispiel wird der integrierte Befehl“ incr “ verwendet. Dies bedeutet, dass der Wert von ‚a‘ bis zum Maximalwert um 1 erhöht wird (<12).

    For command

    Es führt eine Folge von Anweisungen mehrmals basierend auf einem Zählerwert aus., Es wird während jeder Wiederholung der Schleife automatisch erhöht oder verringert.

    Syntax: –

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

    Beispiel: Im folgenden Beispiel wird der Wert von ‚ i ‚ auf 0 gesetzt und bis zum Wert erhöht <5.

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

    Ausgabe :-

    Articles

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.