Next: Quoting
Up: Allgemeine Sprachsysntax
Previous: Skriptdateien
Unter Substitutionen versteht man in Tcl die Möglichkeit, daß der Interpreter
eine Zeichenfolge vor ihrer Ausführung durch eine andere ersetzt. Dies ist hauptsächlich
bei Variablen der Fall, kann aber auch bei Befehlen und nichtdruckbaren Sonderzeichen
(vgl. Escapesequenzen in C) zum Einsatz kommen.
Tcl bietet folgende Substitutionsmechanismen :
- Variablensubstitution
Wird angestoßen indem der
Variablen das Dollarzeichen $ vorangestellt wird, was zur Folge hat, daß
der Name der Variablen durch ihren Wert ersetzt wird.
- Befehlssubstitution
Wird erreicht indem ein gültiges
Tcl-Skript in eckige Klammern [...] eingeschlossen wird. Der Interpreter
wertet dieses Skript aus und ersetzt es durch den Returnwert.
- Backslashsubstitution
Kann für Escapesequenzen
(wie in C), oder zur Entwertung eines Zeichens wie z.B. des Dollarzeichens $
(bewirkt Variablensubstitution) benutzt werden.
Beispiel welches alle drei Substitutionsarten einsetzt:
1 #!/usr/bin/wish -f
2
3 set a 6
4 set b 7
5 set c [expr $a * $b]
6
7 puts "\$c hat den Wert $c\n------------------"
- 1:
- Interpreter wish wird gestartet und mit der Option -f ein Skript übergeben
- 3:
- a wird der Wert 6 zugewiesen
- 4:
- b wird der Wert 7 zugewiesen
- 5:
- c wird der Wert des Skriptes [expr $a * $b] zugewiesen,
außerdem werden im Skript die Variablen a und b durch ihre Werte ersetzt
- 7:
- Im String wird das erste Dollarzeichen entwertet, wodurch keine Variablensubstitution
erfolgt. Anschließend wird das zweite $c ersetzt und anschließend mit der Escapesequenz
n ein Zeilenumbruch erzeugt.
Ausgegeben wird :
$c hat den Wert 42
------------------
Sascha Scherer
Fri Dec 6 09:58:01 MET 1996