Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

لقطة المخزون

جزء من قسم المنطق وتدفق العمليات في رحلة Ruby على Coddy — الدرس 55 من 56.

تقرير مخزون يطبق الـ hashes، وسلاسل Enumerable، و group_by، ولمسة من التنسيق.

challenge icon

التحدي

متوسط

المصفوفة inventory معطاة. كل عنصر عبارة عن hash يحتوي على :name، و :category، و :qty، و :price.

اطبع أربعة أسطر:

  1. إجمالي قيمة المخزون لجميع العناصر (qty * price، مجموعاً)، مطبوعاً كعدد صحيح.
  2. الفئة التي تحتوي على أكبر عدد من العناصر، بالتنسيق Top category: <name> (<count>). في حال التساوي، يتم الفصل أبجدياً حسب اسم الفئة.
  3. أسماء العناصر التي نفدت من المخزون (qty == 0)، مرتبة أبجدياً، ومدمجة بـ , . إذا لم يوجد أي منها، اطبع (none).
  4. أسماء أغلى 3 عناصر من حيث سعر الوحدة، الأعلى أولاً، مدمجة بـ , . في حال التساوي، يتم الفصل حسب الاسم أبجدياً.

بالنسبة للمخزون الافتراضي، يكون المخرج هو:

232
Top category: food (3)
milk
chair, lamp, milk

جرّب بنفسك

inventory = [
  { name: "apple",  category: "food",        qty: 10, price: 2 },
  { name: "bread",  category: "food",        qty: 4,  price: 3 },
  { name: "milk",   category: "food",        qty: 0,  price: 4 },
  { name: "chair",  category: "furniture",   qty: 2,  price: 35 },
  { name: "lamp",   category: "furniture",   qty: 5,  price: 20 },
  { name: "pencil", category: "stationery",  qty: 30, price: 1 }
]

# TODO: طباعة القيمة الإجمالية، الفئة الأعلى، أسماء المنتجات غير المتوفرة، وأغلى 3 منتجات من حيث السعر
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق العمليات