Riepilogo - rompicapo sull'ambito
Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 87 di 90.
Sfida
FacileAnalizza il seguente frammento di codice e prevedi cosa verrà stampato da ogni istruzione print. Crea delle variabili per memorizzare le tue previsioni e poi stampale nell’ordine corretto.
Ecco il codice da analizzare:
gameScore = 100
function updateScore()
local gameScore = 250
print(gameScore)
end
do
local gameScore = 75
updateScore()
print(gameScore)
end
print(gameScore)Crea tre variabili per memorizzare le tue previsioni:
firstOutput- cosa stamperà la prima istruzioneprintsecondOutput- cosa stamperà la seconda istruzioneprintthirdOutput- cosa stamperà la terza istruzioneprint
Poi stampa le tue tre previsioni nell’ordine corretto, ciascuna su una riga separata.
Per questo rompicapo, l’output previsto è nascosto: prima di eseguire il codice, ragiona da solo sugli ambiti di visibilità.
Provalo tu
-- Crea variabili per memorizzare le tue previsioni
local firstOutput = -- TODO: Analizza la prima istruzione print e assegna il valore previsto
local secondOutput = -- TODO: Analizza la seconda istruzione print e assegna il valore previsto
local thirdOutput = -- TODO: Analizza la terza istruzione print e assegna il valore previsto
-- Stampa le tue previsioni nell'ordine corretto
print(firstOutput)
print(secondOutput)
print(thirdOutput)Tutte le lezioni di Fondamenti
4Operatori 2: relazionali e logici
Operatori di uguaglianzaOperatori relazionaliL'operatore 'and'L'operatore 'or'L'operatore 'not'Valutazione short-circuitValori truthy e falsyRiepilogo: logica semplice7Logica condizionale di base
L'istruzione if-thenL'istruzione if-then-elseL'istruzione elseifRiepilogo - Il forziere del tesoro2Variabili e tipi di dati
Che cos'è una variabile?NumeriStringheValori booleaniIl valore 'nil'La funzione type()Convenzioni di denominazioneRiepilogo - Profilo del personaggio5Output di base
Stampare valori letteraliStampare variabiliStampare più valoriCombinare stringhe e variabiliLa funzione tostring()InputCastRipasso - Rapporto di statoRipasso - Fino a 1208Basi della manipolazione delle stringhe
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Riepilogo - Formatta il nome utente11Tabelle 2: in stile dizionario
Coppie chiave-valoreCreare tabelle in stile dizionarioAccesso - notazione con parentesi quadreAccesso con la notazione a puntoAggiungere e modificare coppieRimuovere coppie con nilRiepilogo - proprietà degli elementi14Ambito delle variabili
Variabili globaliVariabili localiPerché usare variabili locali?Ambito e blocchiRiepilogo - rompicapo sull'ambito3Operatori 1: aritmetica e concatenazione
Operatori aritmeticiOperatore moduloOperatore di elevamento a potenzaConcatenazione di stringhePrecedenza degli operatoriRipasso: calcoli semplici6Progetto: visualizzazione delle statistiche del personaggio
Messaggio di benvenutoDichiara le statistiche del personaggio9Funzioni: nozioni di base
Dichiarare una funzioneChiamare una funzioneFunzioni con parametriFunzioni con più parametriL'istruzione 'return'Ripasso - Calcolatore di areaEsercitati da solo: Compilatore Lua online