Mastodon

Guida al Tcl

Premessa

Perché Tcl?

Installazione

Installazione Tcl e Tk (tclsh, wish, info patchlevel)

Un primo approccio

Stampa a video (puts, -nonewline)

Assegna un valore ad una variabile (set)

Sostituzione e valutazione

Uso delle parentesi

Parentesi graffe {...}

Parentesi quadre [...]

Calcoli

Espressioni (expr)

Problemi con i numeri

Strutture di controllo

Struttura di controllo (if-then-else)

Struttura di controllo (switch)

Struttura di controllo iterativa (while)

Struttura di controllo iterativa (for)

Procedura

Come creare un nuovo comando (proc)

Approfondimento sul comando proc (return)

Area di visibilità delle variabili (global, upvar)

Tipi di dati

Lista

Lista, la struttura dati di base di Tcl (list, split, lindex, llength)

Come modificare una lista (concat, lappend, linsert, lreplace, lset)

Lista, ricerca, ordinamento e sezionamento (lsearch, lsort, lrange)

Stringa

Ricerca con caratteri speciali (string, match)

Lunghezza, posizione e sezione di una stringa (length, index, range)

Comparazione tra stringhe (compare, first, last, wordend, wordstart)

Modificare una stringa (tolower, toupper, trim, trimleft, trimright, format)

Espressioni regolari (regular expressions)

Array

Array associativo (array exists, get, names, set, size, unset)

Array associativo (iterazione e procedure)

Dizionario

Il dizionario come alternativa all’array (dict, for, set, size with)

File e Cartelle

Lavorare con i files (open, gets, read, puts, close, ecc.)

Lavorare con la cartella di lavoro (pwd, cd)

Come ricavare informazioni su files e directories (glob, file)

Interlavoro con altri programmi

Come avviare altri programmi da Tcl (open, exec)

Come gestire un canale di Input/Output (socket, fileevent, vwait)


Sitografia

Vittorio Albertoni, Tcl/tk: un tesoro nascosto

tutorial.edu.lat, Impara Tcl/Tk

Antonio Bonifati, Appunti di Tcl/Tk

C. Flynt, N. Madden, A. Markus, D. N. Welton, Tcl Tutorial

Bibliografia

Vittorio Albertoni, Programmare con Tcl/Tk

Ashok P. Nadkarni, The Tcl Programming Language