مراجعة - المخزون
جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 17 من 56.
التحدي
متوسطأنت تقوم بتتبع مخزون المتجر. اقرأ سطراً واحداً من المدخلات: قائمة مفصولة بفاصلة من العمليات مقابل [String: Int] فارغ في البداية يسمى stock. كل عملية هي واحدة مما يلي:
in:<item>:<qty>إضافة الكمية إلى العنصر (استخدم نمط default-subscript)out:<item>:<qty>طرح الكمية. إذا كانت الكمية الناتجة0أو سالبة، قم بـ إزالة المفتاح تماماً.
بعد تطبيق كل عملية، اطبع:
- سطراً واحداً لكل عنصر متبقٍ، مرتباً أبجدياً، بالتنسيق
<item>: <qty> Total units: <n>عبر كل قيمة متبقية
للمدخلات in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5، المخرجات هي:
apple: 6
Total units: 6جرّب بنفسك
let ops = readLine()!.components(separatedBy: ",")
var stock: [String: Int] = [:]
// TODO: تحليل كل op كـ kind:item:qty؛ in يضيف، out يطرح؛
// إزالة المفاتيح التي تنخفض الـ qty الخاصة بها إلى <= 0؛ طباعة الأسطر المرتبة + total
جميع دروس المنطق والتدفق
1النصوص بعمق
العد والفهارسحالة الأحرف وإزالة الفراغاتالبحث في النصوصتقسيم ودمج النصوصاستبدال النصوص الفرعيةمراجعة - التحقق من اسم المستخدم4المجموعات
إنشاء المجموعاتالاتحاد والتقاطعالطرح والفرق المتماثلالمجموعات الجزئية والشاملةمراجعة - تصفية الـ Tag7مشروع - متتبع العادات
نظرة عامة على المشروعتحديد كمكتمل2النطاقات والخطوات
المغلقة مقابل نصف المفتوحةالخطوة (Stride)دوال النطاقاتالنطاقات في Switchملخص - شبكة التقويم5الدوال من الرتبة العليا - الجزء الأول
MapFilterReduceربط Map و Filter و Reduceمراجعة - إحصائيات الكلمات