Wyszukiwanie konkretnego eliksiru
Część sekcji Podstawy ścieżki Lua w Coddy. Lekcja 81 z 90.
Wyzwanie
ŁatwyRozbudowując system obliczania wartości zapasów, zaimplementuj funkcję wyszukiwania, która pozwoli znaleźć i wyświetlić szczegółowe informacje o konkretnej miksturze w asortymencie twojego sklepu.
Podane zostanie następujące wejście:
- Ciąg znaków zawierający nazwę mikstury, której szukasz
Użyj numerycznej pętli for, aby przejść przez tablicę inventory. Dla każdej mikstury sprawdź, czy jej name odpowiada wyszukiwanemu hasłu, używając operatora równości ==.
Po znalezieniu pasującej mikstury wyświetl wszystkie jej szczegóły w następującym formacie:
Found: [name]
Price: [price] gold
Stock: [stock] unitsUżyj konkatenacji ciągów znaków, aby połączyć opisowy tekst z każdą właściwością mikstury. Po znalezieniu i wyświetleniu szczegółów mikstury użyj instrukcji break, aby zakończyć pętlę, ponieważ udało ci się znaleźć to, czego szukasz.
Spróbuj swoich sił
-- 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")Wszystkie lekcje w sekcji Podstawy
4Operatory 2: relacyjne i logiczne
Operatory równościOperatory relacyjneOperator „and”Operator „or”Operator „not”Ewaluacja z krótkim spięciemWartości prawdziwe i fałszywePodsumowanie – prosta logika7Podstawy logiki warunkowej
Instrukcja if-thenInstrukcja if-then-elseInstrukcja elseifPowtórzenie — skrzynia skarbów10Tabele, część 1: styl listy
Czym jest tabela?Tworzenie tabeliDostęp do elementów według indeksuModyfikowanie elementów według indeksuOperator długości '#'table.insert()table.remove()Powtórzenie — zarządzanie członkami drużyny13Projekt: Prosty sklep z eliksirami
Konfiguracja projektuDodawanie eliksiru2Zmienne i typy danych
Czym jest zmienna?LiczbyŁańcuchy znakówWartości logiczneWartość „nil”Funkcja type()Konwencje nazewnictwaPowtórzenie — profil postaci5Podstawowe wyjście
Wyświetlanie literałówWyświetlanie zmiennychWyświetlanie wielu wartościŁączenie ciągów znaków i zmiennychFunkcja tostring()Dane wejścioweRzutowanie typówPowtórka — raport o statusiePowtórka — do 1208Podstawy manipulacji ciągami znaków
string.len()string.upper i string.lowerstring.sub()string.rep()string.find()Podsumowanie – formatuj nazwę użytkownika3Operatory 1: Arytmetyka i konkatenacja
Operatory arytmetyczneOperator moduloOperator potęgowaniaŁączenie ciągów znakówKolejność wykonywania operatorówPowtórka – proste obliczenia6Projekt: wyświetlanie statystyk postaci
Wiadomość powitalnaDeklarowanie statystyk postaci9Podstawy funkcji
Deklarowanie funkcjiWywoływanie funkcjiFunkcje z parametramiFunkcje z wieloma parametramiInstrukcja „return”Powtórzenie — kalkulator polaPoćwicz samodzielnie: Kompilator Lua online