Die wichtigsten Befehle
| Befehl | Zweck |
|---|---|
set, unset, incr, append | Variablen |
puts, gets, read, open, close | Ein- und Ausgabe |
if, for, while, foreach, switch | Kontrollfluss |
proc, return, upvar, global | Prozeduren |
list, lindex, lappend, lsort, lmap | Listen |
dict | Dictionaries |
string, format, scan, regexp, regsub | Text |
expr | Rechnen |
catch, try, error | Fehler |
namespace, oo::class | Struktur |
after, vwait, clock | Zeit und Ereignisse |
puts [info commands pu*]
puts [string length [info patchlevel]]
puts [expr {[llength [info commands]] > 100}]
puts [lsort [list banane Apfel kirsche]]
puts [lsort -nocase [list banane Apfel kirsche]]
puts [join [lmap w {a b c} {string toupper $w}] ""]
puts [expr {0.1 + 0.2}]
puts [expr {1.0 * 3}]
puts [expr {entier(2.9)}]puts 6 0 Apfel banane kirsche Apfel banane kirsche ABC 0.30000000000000004 3.0 2
Typische Fehler
puts $nicht_definiertcan't read "nicht_definiert": no such variable
unbekannter_befehl 1 2invalid command name "unbekannter_befehl"
Weiterführende Quellen
- tcl-lang.org/man: Handbuch zu allen Befehlen
- „Practical Programming in Tcl and Tk“ (Welch, Jones)
- wiki.tcl-lang.org: das Tcl'ers Wiki
- tcl.tk/man/tcl8.6: Befehlsreferenz
Merke
- Tcl: wenige Regeln, überall gleiche Syntax, Strings als einziger Datentyp
- Stark in Automatisierung, Tests und Einbettung
- Beim Rechnen immer
expr {...}mit Klammern
Aufgabe
Schreibe ein Skript, das alle Zeilen einer Textdatei mit dem Wort "Fehler" ausgibt.