Menu
Coddy logo textTech

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 la notazione tra parentesi quadre:

local player = {
    ["name"] = "Alex",
    ["level"] = 5
}

-- Aggiungi una nuova coppia chiave-valore
player.gold = 100

-- Modifica un valore esistente
player.level = 6

La bellezza di questo approccio è che Lua non distingue 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 sia la notazione con il punto sia quella con le parentesi quadre per queste operazioni:

-- Entrambi funzionano allo stesso modo
player.class = "Warrior"
player["weapon"] = "Sword"
challenge icon

Sfida

Facile

Crea un sistema di progressione del personaggio che dimostri sia l'aggiunta di nuovi attributi sia la modifica di quelli esistenti. Inizia creando una tabella denominata hero con le seguenti coppie chiave-valore iniziali: a ["name"] deve essere assegnata la stringa "Warrior", a ["level"] deve essere assegnato il numero 5 e a ["health"] deve essere assegnato 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.

Una volta completate tutte le modifiche, stampa la classe dell'eroe e il livello aggiornato per verificare i cambiamenti.

Provalo tu

-- Crea la tabella iniziale hero
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

-- Mostra class e il valore aggiornato di level di hero
print(hero.class)
print(hero.level)
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