Scope

Definizione rapida

Regione di un programma nella quale un identificatore, come una variabile, è visibile e utilizzabile.

Spiegazione

Lo scope è determinato dalle regole del linguaggio e dal punto in cui un nome viene dichiarato. Può limitarsi a un blocco o a una funzione, estendersi a un modulo oppure essere globale. Questa delimitazione evita collisioni e controlla quali parti del codice possano accedere allo stesso stato.

Esempio pratico

Una variabile creata dentro una funzione può cessare di essere visibile appena l'esecuzione torna al chiamante.

Spiegazione tecnica

Durante la risoluzione di un nome, compilatore o interprete cerca la dichiarazione negli ambienti lessicali previsti. Blocchi annidati possono nascondere identificatori omonimi definiti in un livello esterno.

Da non confondere con

Non è la durata di vita: visibilità dell'identificatore ed esistenza dell'oggetto possono coincidere in alcuni casi, ma sono proprietà concettualmente separate.