wishIm Terminalfenster werden interaktiv die Kommandos eingegeben, das zusätzliche Fenster ermöglicht die graphische Ausgabe.
Unter Windows wish
aus dem Startmenü auswählen oder über die
Kommandozeile
k:\tcltk80\bin\wishHier werden zwei Fenster geöffnet, eins für die Kommandoeingabe und eins für graphische Ausgaben.
command arg1 arg2 arg3 ...Die Argumente werden durch ein oder mehrere Leerzeichen bzw. Tabulatoren getrennt. Kommandos werden voneinander durch einen Zeilenwechsel bzw. ein Semikolon (;) getrennt.
Beispiel:
puts HalloSollen mehrere, durch Leerzeichen getrennte Wörter zu einem Argument zusammengefaßt werden, müssen diese mit den Spezialzeichen
" "
bzw. { }
eingeschlossen (gruppiert) werden:
puts "Hallo Linux!" puts {Good bye, Bill}
set
wird einer Variablen ein Wert zugewiesen:
set a 5 set b "Hallo"Der Typ einer Variablen wird bei der Wertzuweisung festgelegt. Der set-Befehl liefert als Rückgabewert den zugewiesenen Wert (wird bei manchen wish-Implementationen angezeigt).
Um auf den Wert einer Variablen zuzugreifen, muß ihr ein $-Symbol vorangestellt werden:
puts "a: $a" puts "b: $b"(Achtung: Die Klammerung mit {} geht hier schief!)
[ ]
erzwungen werden:
set c [string length "Hallo Linux!"] puts "b: $b, Länge von b: [string length $b]"
expr
ausgeführt, dessen Ergebnis üblicherweise einer Variablen übergeben oder
angezeigt wird:
set radius 1 set umfang [expr 2*$radius*3.14] puts "Fläche: [expr 3.14*$radius*$radius]"Die Nutzung von Funktionen ist ebenfalls möglich:
puts "Wurzel 2: [expr sqrt(2)]"Zahlen, die mit einer 0 beginnen, werden als Oktalzahlen interpretiert, Zahlen, die mit 0x beginnen, als Hexadezimalzahlen. Die wissenschaftliche Schreibweise 2.97e8 für 2.97*108 ist ebenfalls möglich.
$ [ ]
etc.
aufgehoben werden, wird ihnen ein Backslash \
vorangestellt.
puts \$a ==> $a (und nicht 5)Das Backslash verliert seine Sonderbedeutung durch Doppeltschreiben:
\\
. Mit Hilfe der Backslash-Substitution können auch
Spezialzeichen wie Tabulator (\t) und Zeilenschaltung (\n) sowie nicht auf der
Tastatur vorhandene Sonderzeichen (\x## bzw. \###, wobei
## bzw. ### der Hexadezimal- bzw. Oktalcode des Zeichens darstellen)
benutzt werden:
puts "a:\t$a\n\xa1\xa2" ==> a: 5 ¡¢
" "
bzw. { }
zur Verfügung. Während die Anführungszeichen nur
die Trennwirkung von Leerzeichen, Tabulatoren und Zeilenschaltungen
aufheben und die alle Substitutionen innerhalb der Gruppe durchführen
([] \
), werden innerhalb geschweifter Klammern keinerlei
Substitutionen gemacht, alles wird so interpretiert, wie es dasteht:
puts "$a $b\n[string length $b]" ==> 5 Hallo 5 puts {$a $b\n[string length $b]} ==> $a $b\n[string length $b]Eine weitere wichtige Anwendung des \ ist die Aufhebung der Zeilenschaltung. Ist es das letzte Zeichen der Zeile, wird das Zeilenende durch ein Leerzeichen ersetzt und die Folgezeile ohne führende Leerzeichen direkt angehängt. Da Tcl-Kommandos immer zusammenhängend auf einer Zeile stehen müssen, wird das sehr häufig bei längeren Kommandos benötigt:
puts "Das ist \ ein langer Text"
# KommentarEin Kommentar kann auch in einer Zeile mit einem Befehl stehen. Alles nach dem #-Zeichen wird vom Interpreter ignoriert.