Rimuovere coppie con nil
Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 69 di 90.
Quando assegni nil a una chiave, Lua rimuove di fatto quella coppia chiave-valore dalla tabella:
local settings = {
["volume"] = 80,
["difficulty"] = "normal",
["music"] = true
}
-- Rimuovi l'impostazione difficulty
settings.difficulty = nil
-- Ora la chiave difficulty non esiste più nella tabellaPuoi usare la notazione con il punto o quella con le parentesi quadre per rimuovere una coppia chiave-valore. Sia settings.difficulty = nil sia settings["difficulty"] = nil funzionano esattamente allo stesso modo.
Dopo aver assegnato nil a una chiave, quella chiave scompare completamente dalla tabella. Se provi ad accedervi in seguito, otterrai nil come risultato, proprio come se la chiave non fosse mai esistita.
Sfida
FacileCrea un sistema di configurazione del gioco che mostri come rimuovere impostazioni indesiderate da una tabella in stile dizionario. Inizia creando una tabella chiamata gameConfig con le seguenti coppie chiave-valore: a ["graphics"] deve essere assegnata la stringa "high", a ["sound"] deve essere assegnato il numero 75, a ["difficulty"] deve essere assegnata la stringa "normal" e a ["debug"] deve essere assegnato il booleano true.
Dopo aver creato la tabella di configurazione iniziale, rimuovi l'impostazione debug assegnandole nil tramite la notazione con il punto. Poi stampa l'impostazione audio rimanente per verificare che la tabella contenga ancora gli altri valori.
Provalo tu
-- TODO: Scrivi qui il tuo codice
-- Crea la tabella gameConfig con le coppie chiave-valore richieste
-- Rimuovi l'impostazione debug usando la notazione a punti
-- Stampa l'impostazione soundQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
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 elementi3Operatori 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