Belirli Bir İksiri Bulma
Coddy'nin Lua Journey'sinin Temeller bölümünün bir parçası. Ders 81 / 90.
Görev
KolayEnvanter değerini hesaplama sistemini temel alarak, dükkânının envanterindeki belirli bir iksir hakkında ayrıntılı bilgi bulup görüntülemeni sağlayan bir arama özelliği uygula.
inventory tablonu koru, ancak önceki adımdaki toplam değer döngüsünü ve bu döngünün çıktısını kaldır: bu adım yalnızca arama sonucunu yazdırır; hiçbir iksir eşleşmezse hiçbir şey yazdırmaz.
Aşağıdaki girdi sağlanacaktır:
- Aranacak iksirin adını içeren bir dize
inventory tablonu yinelemek için sayısal bir for döngüsü kullan. Her iksir için, eşitlik işleci =='yi kullanarak iksirin name değerinin arama terimiyle eşleşip eşleşmediğini kontrol et.
Eşleşen iksiri bulduğunda, tüm ayrıntılarını aşağıdaki biçimde yazdır:
Found: [name]
Price: [price] gold
Stock: [stock] unitsAçıklayıcı metni her iksir özelliğiyle birleştirmek için dize birleştirme işlemini kullan. İksir ayrıntılarını bulup görüntüledikten sonra, aradığını bulduğun için döngüden çıkmak üzere break ifadesini kullan.
Kendin dene
-- 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")Temeller bölümündeki tüm dersler
4Operatörler 2 İlişkisel ve Mantıksal
Eşitlik Operatörleriİlişkisel Operatörler'and' Operatörü'or' Operatörü'not' OperatörüKısa Devre DeğerlendirmesiTruthy ve Falsy DeğerlerÖzet - Basit Mantık10Tablolar Bölüm 1: Liste Stili
Tablo Nedir?Tablo Oluşturmaİndeks ile Elemanlara Erişmeİndeks ile Elemanları DeğiştirmeUzunluk Operatörü '#'table.insert()table.remove()Özet - Parti Üyelerini Yönetme13Proje: Basit İksir Dükkanı
Proje Kurulumuİksir Ekleme2Değişkenler ve Veri Tipleri
Değişken Nedir?SayılarStringlerBooleanlar'nil' Değeritype() Fonksiyonuİsimlendirme KurallarıÖzet - Karakter Profili5Temel Çıktı
Sabitleri YazdırmaDeğişkenleri YazdırmaBirden Fazla Değer YazdırmaMetinleri ve Değişkenleri Birleştirmetostring() FonksiyonuGirdiTip DönüşümüÖzet - Durum RaporuÖzet - 120'ye Kadar8String Manipülasyonu Temelleri
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Özet - Kullanıcı Adı Biçimlendirme3Operatörler 1 Aritmetik ve Birleştirme
Aritmetik OperatörlerMod Alma OperatörüÜs Alma OperatörüString BirleştirmeOperatör ÖnceliğiÖzet - Basit Hesaplamalar6Proje: Karakter İstatistiklerini Görüntüleme
Hoş Geldiniz MesajıKarakter İstatistiklerini Tanımlama9Fonksiyon Temelleri
Fonksiyon TanımlamaFonksiyon ÇağırmaParametreli FonksiyonlarÇoklu Parametreli Fonksiyonlar'return' İfadesiÖzet - Alan HesaplayıcıKendi başına pratik yap: Online Lua derleyicisi