Trovare una pozione specifica
Fa parte della sezione Fondamenti del percorso Lua di Coddy. Lezione 81 di 90.
Sfida
FacileBasandoti sul tuo sistema di calcolo del valore dell’inventario, implementa una funzione di ricerca che ti permetta di trovare e mostrare informazioni dettagliate su una pozione specifica nell’inventario del tuo negozio.
Mantieni la tabella inventory, ma rimuovi il ciclo che calcola il valore totale e la relativa stampa del passaggio precedente: questo passaggio stampa solo il risultato della ricerca e non stampa assolutamente nulla se non viene trovata alcuna pozione corrispondente.
Verrà fornito il seguente input:
- Una stringa contenente il nome della pozione da cercare
Usa un ciclo for numerico per scorrere la tabella inventory. Per ogni pozione, verifica se il suo name corrisponde al termine di ricerca usando l’operatore di uguaglianza ==.
Quando trovi la pozione corrispondente, stampa tutti i suoi dettagli nel seguente formato:
Found: [name]
Price: [price] gold
Stock: [stock] unitsUsa la concatenazione di stringhe per combinare il testo descrittivo con ogni proprietà della pozione. Dopo aver trovato e mostrato i dettagli della pozione, usa l’istruzione break per uscire dal ciclo, dato che hai trovato ciò che cercavi.
Provalo tu
-- Inventory table with potion data
local inventory = {
{name = "Health Potion", price = 15, stock = 8},
{name = "Mana Potion", price = 12, stock = 5},
{name = "Strength Potion", price = 25, stock = 3},
{name = "Speed Potion", price = 18, stock = 2}
}
-- Initialize total value variable
local totalValue = 0
-- Calculate total inventory value using numeric for loop
for i = 1, #inventory do
local itemValue = inventory[i].price * inventory[i].stock
totalValue = totalValue + itemValue
end
-- Print the total inventory value
print("Total inventory value: " .. totalValue .. " gold")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 tesoro10Tabelle Parte 1: stile lista
Che cos'è una tabella?Creare una tabellaAccedere agli elementi tramite indiceModificare gli elementi tramite indiceL'operatore di lunghezza '#'table.insert()table.remove()Riepilogo - Gestire i membri del party13Progetto: Negozio di pozioni semplice
Configurazione del progettoAggiungere una pozione2Variabili 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 utente3Operatori 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