بيع جرعة
جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 82 من 90.
التحدي
سهلأكمل مشروع متجر الجرعات الخاص بك من خلال تنفيذ نظام معاملات البيع. بناءً على وظيفة البحث الخاصة بك، قم بإنشاء نظام يعالج عملية بيع الجرعة عن طريق تقليل كمية المخزون وتقديم تأكيد للمعاملة.
سيتم توفير المدخلات التالية:
- سلسلة نصية تحتوي على اسم الجرعة المراد بيعها
استخدم حلقة for رقمية للتكرار عبر جدول inventory الخاص بك للعثور على الجرعة المحددة. عندما تحدد الجرعة المطابقة باستخدام عامل التساوي ==، قم بتقليل قيمة stock الخاصة بها بمقدار 1 لمحاكاة عملية البيع.
بعد تحديث المخزون، اطبع رسالة تأكيد تعرض اسم الجرعة ومستوى مخزونها الجديد بالتنسيق التالي:
Sold 1 [potion name]
Remaining stock: [new stock count]استخدم ربط السلاسل النصية لدمج النص الوصفي مع اسم الجرعة وكمية المخزون المحدثة. بعد معالجة عملية البيع، استخدم عبارة break للخروج من الحلقة.
جرّب بنفسك
-- Inventory table with potion data
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}
}
-- Read the potion name to search for
search_name = io.read()
-- Use a numeric for loop to search through the inventory
for i = 1, #inventory do
if inventory[i].name == search_name then
print("Found: " .. inventory[i].name)
print("Price: " .. inventory[i].price .. " gold")
print("Stock: " .. inventory[i].stock .. " units")
break
end
endجميع دروس Fundamentals
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازلي