Menu
CoddyTech

Perché usare variabili locali?

Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 85 di 90.

Prevenire i conflitti tra nomi: Il vantaggio più importante delle variabili locali è che ti impediscono di sovrascrivere accidentalmente altre variabili con lo stesso nome. Quando usi variabili globali in tutto il programma, è facile riutilizzare per sbaglio un nome di variabile e modificare un valore che non intendevi cambiare.

score = 100  -- il punteggio del giocatore

function countEnemies()
    score = 0  -- pensato come contatore solo per questa funzione
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 3: il punteggio del giocatore è stato sovrascritto!

La funzione avrebbe dovuto usare il proprio contatore, ma poiché score è globale, ha modificato il punteggio del giocatore. Aggiungendo local, la funzione ottiene una variabile separata che esiste solo al suo interno:

function countEnemies()
    local score = 0  -- una nuova variabile, solo all'interno di questa funzione
    for i = 1, 3 do
        score = score + 1
    end
    return score
end

countEnemies()
print(score)  -- 100: la variabile globale score rimane invariata

Con le variabili locali, ogni funzione e blocco ha le proprie variabili separate, così il codice in un punto non può modificare accidentalmente i valori usati altrove.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Lua online