Next: Kontrollstrukturen
Up: Tcl's Sprachstrukturen
Previous: Quoting
Im Gegensatz zu Programmiersprachen wie C oder Pascal muß in Tcl eine Variable vor
ihrer Benutzung nicht deklariert werden. Dies ist dadurch möglich, daß Tcl
zwischen Strings und Integer Variablen keinen Unterschied macht. Eine Variable wird
immer in ihrem direkten Kontext interpretiert und entsprechend als String, bzw.
Integer verstanden. Der Variablenname sowie der Variablenwert dürfen dabei aus
beliebigen Zeichenketten bestehen, was jedoch zur Folge hat, daß ein Variablenname
auch Blanks enthalten darf (sollte vermieden werden).
Um einer Variablen einen Wert zuzuweisen benutzt man
den Befehl
set var_name var_value
Er erwartet als erstes Argument ( var_name) den Variablennamen und für
var_value den zuzuweisenden Wert. Eine so definierte Variable kann anschließend
jederzeit wieder gelöscht werden mit
unset var_name
Das folgende Beispiel soll diese Regeln etwas veranschaulichen:
set a 42 # a wird Integer zugewiesen
set a "42" # a wird String zugewiesen
set a {$a $b} # a wird String "$a $b" zugewiesen (KEINE SUBSTITUTION)
Aber zusätzlich zu normalen Variablen hat Tcl noch mehr zu bieten:
- Arrays
Auch Arrays müssen nicht explizit deklariert werden. Sie
werden erzeugt, indem dem Variablenname ein beliebiger, in runde Klammern
eingeschlossener Bezeichner (beliebige Zeichenkette) angehängt wird. Dies
hat zwar den Vorteil, daß ein Array eine variable Größe besitzt, aber die
genaue Größe des Arrays nicht direkt ersichtlich ist. (siehe Kapitel 6.3)
- Listen
Sie stellen mächtigere und komfortablere Datencontainer als Arrays dar.
Sie sind beispielsweise über ihren Namen als ganzes ansprechbar, oder können
mit einer einfachen Funktion sortiert werden. Zur Verwaltung von Listen stellt
Tcl eine ganze Reihe von Befehlen zur Verfügung (z.B. concat, join,
lappend, linsert, lsearch, ...) welche jedoch erst später an
konkreten Beispielen behandelt werden. (siehe Kapitel 6.3)
- Strings
Da String der Standarddatentyp von Tcl ist könnte man denken, daß er eigentlich
nicht in diese Aufzählung gehört. Aber Tcl bietet ähnlich wie bei Listen auch
eine ganze Klasse zusätzlicher Befehle zur Bearbeitung von Strings. Auch
hierzu sei auf die folgenden Kapitel verwiesen. (siehe Kapitel 5.2)
Next: Kontrollstrukturen
Up: Tcl's Sprachstrukturen
Previous: Quoting
Sascha Scherer
Fri Dec 6 09:58:01 MET 1996