Tcl - Spezielle Variablen
In Tcl klassifizieren wir einige der Variablen als spezielle Variablen und sie haben eine vordefinierte Verwendung / Funktionalität. Die Liste der Sondervariablen ist unten aufgeführt.
Sr.Nr. | Spezielle Variable & Beschreibung |
---|---|
1 | argc Verweist auf eine Reihe von Befehlszeilenargumenten. |
2 | argv Verweist auf die Liste mit den Befehlszeilenargumenten. |
3 | argv0 Bezieht sich auf den Dateinamen der zu interpretierenden Datei oder den Namen, unter dem wir das Skript aufrufen. |
4 | env Wird zur Darstellung des Arrays von Elementen verwendet, bei denen es sich um Umgebungsvariablen handelt. |
5 | errorCode Gibt den Fehlercode für den letzten Tcl-Fehler an. |
6 | errorInfo Stellt die Stapelverfolgung für den letzten Tcl-Fehler bereit. |
7 | tcl_interactive Dient zum Umschalten zwischen interaktivem und nicht interaktivem Modus, indem dieser auf 1 bzw. 0 gesetzt wird. |
8 | tcl_library Wird zum Festlegen des Speicherorts von Standard-Tcl-Bibliotheken verwendet. |
9 | tcl_pkgPath Stellt die Liste der Verzeichnisse bereit, in denen Pakete im Allgemeinen installiert sind. |
10 | tcl_patchLevel Bezieht sich auf die aktuelle Patch-Ebene des Tcl-Interpreters. |
11 | tcl_platform Wird zur Darstellung des Arrays von Elementen mit Objekten wie byteOrder, machine, osVersion, platform und os verwendet. |
12 | tcl_precision Bezieht sich auf die Genauigkeit, dh die Anzahl der Stellen, die beim Konvertieren in Gleitkommazahlen in Zeichenfolgen beibehalten werden sollen. Der Standardwert ist 12. |
13 | tcl_prompt1 Bezieht sich auf die primäre Eingabeaufforderung. |
14 | tcl_prompt2 Verweist auf die sekundäre Eingabeaufforderung mit ungültigen Befehlen. |
15 | tcl_rcFileName Stellt die benutzerspezifische Startdatei bereit. |
16 | tcl_traceCompile Wird zur Steuerung der Ablaufverfolgung der Bytecode-Kompilierung verwendet. Verwenden Sie 0 für keine Ausgabe, 1 für eine Zusammenfassung und 2 für eine detaillierte Ausgabe. |
17 | tcl_traceExec Wird zur Steuerung der Ablaufverfolgung der Bytecode-Ausführung verwendet. Verwenden Sie 0 für keine Ausgabe, 1 für eine Zusammenfassung und 2 für eine detaillierte Ausgabe. |
18 | tcl_version Gibt die aktuelle Version des Tcl-Interpreters zurück. |
Die obigen speziellen Variablen haben ihre spezielle Bedeutung für den Tcl-Interpreter.
Beispiele für die Verwendung von Tcl-Spezialvariablen
Sehen wir uns einige Beispiele für spezielle Variablen an.
Tcl-Version
#!/usr/bin/tclsh
puts $tcl_version
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
8.6
Tcl-Umgebungspfad
#!/usr/bin/tclsh
puts $env(PATH)
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
/home/cg/root/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/
System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/webmaster/.local/bin:/
home/webmaster/bin:/usr/local/scriba/bin:/usr/local/smlnj/
bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/
local/dart/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/opt/mono/
bin:/opt/mono/lib/mono/4.5:/usr/local/bin:.:/usr/libexec/sdcc:/usr/local/
icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/jdk1.7.0_75/bin:/
opt/jdk1.7.0_75/jre/bin:/opt/pash/Source/PashConsole/bin/Debug/
Tcl-Paketpfad
#!/usr/bin/tclsh
puts $tcl_pkgPath
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
/usr/lib64/tcl8.6 /usr/share/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6
Tcl Bibliothek
#!/usr/bin/tclsh
puts $tcl_library
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
/usr/share/tcl8.6
Tcl Patch Level
#!/usr/bin/tclsh
puts $tcl_patchLevel
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
8.6.6
Tcl Präzision
#!/usr/bin/tclsh
puts $tcl_precision
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
0
Tcl Startdatei
#!/usr/bin/tclsh
puts $tcl_rcFileName
Wenn Sie das Programm ausführen, erhalten Sie eine ähnliche Ausgabe wie unten gezeigt -
~/.tclshrc