Tcl - Variablen
In Tcl gibt es kein Konzept für die Variablendeklaration. Sobald ein neuer Variablenname gefunden wird, definiert Tcl eine neue Variable.
Variable Benennung
Der Name von Variablen kann beliebige Zeichen und Längen enthalten. Sie können sogar Leerzeichen verwenden, indem Sie die Variable in geschweifte Klammern setzen. Dies wird jedoch nicht bevorzugt.
Mit dem Befehl set wird einer Variablen ein Wert zugewiesen. Die Syntax für den Befehl set lautet:
set variableName value
Einige Beispiele für Variablen sind unten aufgeführt -
#!/usr/bin/tclsh
set variableA 10
set {variable B} test
puts $variableA
puts ${variable B}
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
10
test
Wie Sie im obigen Programm sehen können, wird $ variableName verwendet, um den Wert der Variablen abzurufen.
Dynamische Eingabe
Tcl ist eine dynamisch typisierte Sprache. Der Wert der Variablen kann bei Bedarf dynamisch in den erforderlichen Typ konvertiert werden. Beispielsweise wird eine Zahl 5, die als Zeichenfolge gespeichert ist, bei einer arithmetischen Operation in eine Zahl umgewandelt. Es ist unten gezeigt -
#!/usr/bin/tclsh
set variableA "10"
puts $variableA
set sum [expr $variableA +20];
puts $sum
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
10
30
Mathematische Ausdrücke
Wie Sie im obigen Beispiel sehen können, wird expr zur Darstellung des mathematischen Ausdrucks verwendet. Die Standardgenauigkeit von Tcl beträgt 12 Stellen. Um Gleitkommaergebnisse zu erhalten, sollten wir mindestens eine einzelne Dezimalstelle hinzufügen. Ein einfaches Beispiel erklärt das Obige.
#!/usr/bin/tclsh
set variableA "10"
set result [expr $variableA / 9];
puts $result
set result [expr $variableA / 9.0];
puts $result
set variableA "10.0"
set result [expr $variableA / 9];
puts $result
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
1
1.1111111111111112
1.1111111111111112
Im obigen Beispiel sehen Sie drei Fälle. Im ersten Fall sind die Dividende und der Divisor ganze Zahlen und wir erhalten eine ganze Zahl als Ergebnis. Im zweiten Fall ist der Divisor allein eine Dezimalzahl und im dritten Fall ist die Dividende eine Dezimalzahl. Sowohl im zweiten als auch im dritten Fall erhalten wir als Ergebnis eine Dezimalzahl.
Im obigen Code können Sie die Genauigkeit mithilfe der speziellen Variablen tcl_precision ändern. Es ist unten gezeigt -
#!/usr/bin/tclsh
set variableA "10"
set tcl_precision 5
set result [expr $variableA / 9.0];
puts $result
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
1.1111