Aggiungere e modificare coppie
Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 68 di 90.
Per aggiungere una nuova coppia chiave-valore o modificarne una esistente, basta usare l’operatore di assegnazione con la notazione a punti o quella tra parentesi quadre:
local player = {
["name"] = "Alex",
["level"] = 5
}
-- Aggiungi una nuova coppia chiave-valore
player.gold = 100
-- Modifica un valore esistente
player.level = 6Il bello di questo approccio è che Lua non fa distinzione tra aggiungere e modificare. Se la chiave "gold" non esiste nella tabella, viene creata con il valore 100. Se la chiave "level" esiste già, il suo valore viene aggiornato a 6.
Puoi usare la notazione con il punto o la notazione con le parentesi quadre per queste operazioni:
-- Entrambi funzionano allo stesso modo
player.class = "Warrior"
player["weapon"] = "Sword"Sfida
FacileCrea un sistema di progressione del personaggio che mostri sia l'aggiunta di nuovi attributi sia la modifica di quelli esistenti. Inizia creando una tabella chiamata hero con le seguenti coppie chiave-valore iniziali: a ["name"] deve essere assegnata la stringa "Warrior", a ["level"] il numero 5 e a ["health"] il numero 120.
Dopo aver creato la tabella iniziale del personaggio, apporta le seguenti modifiche: per prima cosa, aggiungi una nuova coppia chiave-valore ["class"] con il valore "Paladin" usando la notazione con il punto. Poi, modifica il valore esistente di level impostandolo a 7 usando la notazione con le parentesi quadre. Infine, aggiungi un'altra nuova coppia chiave-valore ["mana"] con il valore 80 usando la notazione con le parentesi quadre.
Le righe sotto il tuo codice stampano la classe e il livello dell'eroe, così puoi verificare le modifiche.
Provalo tu
-- Crea la tabella hero iniziale
local hero = {
-- TODO: Aggiungi qui le coppie chiave-valore iniziali
}
-- TODO: Aggiungi nuovi attributi e modifica quelli esistenti usando la notazione con il punto e con le parentesi quadre
Questa 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