Menu
Coddy logo textTech

Ambito e blocchi

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

In Lua, puoi creare nuovi ambiti ovunque nel tuo codice usando i blocchi do...end. Questi blocchi ti permettono di controllare esattamente dove è possibile accedere alle variabili locali, dandoti un controllo preciso sull'ambito delle variabili.

Ecco come puoi creare un nuovo ambito con un blocco do...end:

local outerVar = "I'm outside"

do
    local innerVar = "I'm inside"
    print(outerVar)  -- Questo funziona
    print(innerVar)  -- Anche questo funziona
end

print(outerVar)  -- Questo funziona
print(innerVar)  -- Questo causerebbe un errore!

L'aspetto potente dell'ambito è che puoi avere variabili locali con lo stesso nome in blocchi diversi, e rimangono completamente separate:

local name = "Alice"

do
    local name = "Bob"  -- Variabile diversa!
    print(name)  -- Stampa "Bob"
end

print(name)  -- Stampa "Alice"

Ogni blocco do...end crea un ambiente isolato per le variabili locali. Le variabili dichiarate all'interno di un blocco non possono uscire dall'ambito esterno, mentre è possibile accedere alle variabili degli ambiti esterni dai blocchi interni.

challenge icon

Sfida

Facile

Crea blocchi do...end annidati per dimostrare che le variabili locali con lo stesso nome rimangono completamente separate in ambiti diversi.

Per prima cosa, crea una variabile locale chiamata playerLevel con il valore 10 nell'ambito esterno e stampala.

Poi crea un blocco do...end e al suo interno:

  • Dichiara una nuova variabile locale chiamata anch'essa playerLevel con il valore 25
  • Stampa questa playerLevel interna

Al termine del blocco interno, stampa di nuovo la playerLevel esterna per mostrare che è rimasta invariata.

Questo dimostra che le variabili locali con nomi identici in ambiti diversi sono completamente indipendenti: la variabile interna non influisce su quella esterna.

Provalo tu

-- TODO: Scrivi il tuo codice qui
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