Ambito

L'ambito della programmazione è lo spazio nel codice in cui una variabile è sia definita che visibile. L'ambito differenzia le regioni di un programma e il modo in cui il programma definisce e utilizza le variabili. Se una variabile ha una definizione specifica in tutto il programma, indipendentemente dalla funzione in cui appare, il suo ambito è globale. Le variabili con ambito globale sono le stesse in tutto il codice sorgente. Al contrario, l'ambito locale definisce una variabile per una particolare funzione; esiste solo all'interno di quella funzione.

La definizione di ambito è un po 'fuorviante; si riferisce anche al funzionamento di una variabile all'interno di un programma, non solo all'area in cui la variabile è definibile e visibile. Il termine ambito indica solo l'area coperta, non l'azione eseguita; I ricercatori e gli sviluppatori comprendono i limiti del termine e comprendono che per ambito si intende sia la definizione che il comportamento di una variabile.


Ambito statico vs dinamico

L'ambito statico (lessicale) e dinamico sono due tipi di ambito che si verificano nella programmazione; statico è di gran lunga il più comune. Se un programma ha l'ambito statico o lessicale, una variabile all'interno di una funzione restituirà il valore assegnato per quell'ambito ogni volta che quella funzione viene eseguita. Ad esempio, se viene fornita una variabile x = 5 in una data funzione e una successiva definizione condizionale di x, x = 5 ogniqualvolta l'ambito del programma la definisce come tale.

L'ambito dinamico, tuttavia, richiama la definizione più recente di quella variabile, indipendentemente dalla struttura del programma. Nell'esempio precedente, se x = 5 ma poi x è stato successivamente definito con un valore di 10, un programma con un ambito dinamico chiamerebbe x = 10 se quel valore fosse stato utilizzato più di recente. L'ambito dinamico è meno strutturato dell'ambito statico; estrae le definizioni delle variabili dallo stack di chiamate anziché dall'area in cui sarebbero definite logicamente.


Lascia un commento