Arrivati a questo punto dovremmo aver ben chiaro che in Tcl, quando scriviamo una riga di codice, in concreto ciò che scriviamo è un comando.

Bene, ma quando mandiamo in esecuzione questo nostro comando, l’interprete Tcl cosa fa?

L’interprete Tcl compie due azioni:

  1. Sostituisce tutte le variabili a cui è stato anteposto il carattere $ con i loro valori.
  2. Valuta il comando utilizzando come argomenti i valori ottenuti nella prima fase.

Vediamo un esempio.

set myVar 4
puts "The value of variable myVar is $myVar."
---
The value of variable myVar is 4.

In questo caso l’interprete sostituisce alla parola $myVar il valore 4 e quindi procede valutando il comando puts che abbiamo già incontrato nell’articolo Stampa a video (puts).

Attenzione! La sostituzione non avviene se le parole sono racchiuse tra una coppia di parentesi graffe {...}.

I tre usi della barra rovesciata (backslash)

In Tcl possiamo utilizzare il carattere della barra rovesciata (backslash) per dire all’interprete di fare determinate cose.

Per disabilitare una sostituzione

All’interno delle virgolette alte doppie possiamo utilizzare la barra rovesciata per disabilitare una o più sostituzioni.

puts "The value of variable myVar is \$myVar."
---
The value of variable myVar is $myVar.

Per compiere delle azioni predeterminate

Sempre all’interno delle virgolette alte doppie, utilizzando una delle sequenze riportate più sotto, informiamo l’interprete Tcl che deve compiere una ben determinata azione.

\a     -> Emette un suono
\b     -> Cancella il carattere immediatamente alla sua sinistra (backspace)
\n     -> Il cursore va accapo (nuova linea)
\t     -> Il cursore si sposta in orizzontale di 4 colonne
\0DD   -> Specifica che si tratta di un valore ottale (D: 0-7)
\uDDDD -> Specifica che si tratta di un valore esadecimale (D: 0-9, A-F, a-f)

Per spezzare le righe di codice

Se la riga di codice che stiamo scrivendo è troppo lunga, possiamo spezzarla su più righe utilizzando la barra rovesciata. L’interprete poi unirà di nuovo le parti e al posto della barra rovesciata inserirà un carattere di spazio.

puts "This is too long\
a line."
---
This is too long a line.

Nel prossimo articolo vedremo come si comporta l’interprete Tcl in presenza delle doppie parentesi graffe {...}.