الاصطفاف

الاصطفاف

سهل

مقدمة

يعمل صديقك Yaʻqūb خلف منصة البيع في متجر للأطعمة الجاهزة في المدينة، يقطّع الطلبات ويزنها ويغلّفها لطابور من الزبائن الجائعين يزداد طولًا كل يوم. بدأ الزبائن المنتظرون يفقدون معرفة من سيأتي بعده، لذا يريد بطاقات مرقّمة يستطيعون استخدامها لتتبّع ترتيب وصولهم.

وليجعل الزبائن يشعرون بأنهم مميّزون، لا يريد أن تحمل التذكرة رقمًا فحسب، بل سيحصلون على جملة إنجليزية سليمة تحمل اسمهم ورقمهم.

التعليمات

بالنظر إلى اسم وعدد، مهمتك هي إنتاج جملة تستخدم ذلك الاسم وذلك العدد كـعدد ترتيبي. يتوقع Yaʻqūb استخدام أعداد من 1 وحتى 999.

القواعد:

  • الأعداد التي تنتهي بـ 1 (ما لم تكن منتهية بـ 11) ← "st"
  • الأعداد التي تنتهي بـ 2 (ما لم تكن منتهية بـ 12) ← "nd"
  • الأعداد التي تنتهي بـ 3 (ما لم تكن منتهية بـ 13) ← "rd"
  • جميع الأعداد الأخرى ← "th"

أمثلة:

  • "Mary", 1 ← "Mary, you are the 1st customer we serve today. Thank you!"
  • "John", 12 ← "John, you are the 12th customer we serve today. Thank you!"
  • "Dahir", 162 ← "Dahir, you are the 162nd customer we serve today. Thank you!"

التنفيذ

في هذا التمرين ستُطبّق إجراءً مهمته تخصيص السلسلة النصية التي يُرجعها. وتقع مسؤولية إلغاء تخصيص هذه السلسلة النصية على عاتق من يستدعي الإجراء.

// The procedure will be called like that:
formatted := format("Gianna", 4)
// ...
// and eventually the caller will delete the string
delete(formatted)
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Odin Exercism

مستعد لبدء الاصطفاف؟

سجّل في Exercism لتتعلّم وتتقن Odin عبر 73 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.