المسارات
/
jq
jq
/
التمارين
/
قطرات المطر
قطرات المطر

قطرات المطر

سهل

مقدمة

قطرات المطر نسخة أكثر تعقيدًا بقليل من تحدي FizzBuzz، وهو سؤال مقابلات عمل كلاسيكي.

التعليمات

مهمتك هي تحويل عدد إلى أصوات قطرات المطر المقابلة له.

إذا كان العدد المعطى:

  • يقبل القسمة على 3، فأضف "Pling" إلى النتيجة.
  • يقبل القسمة على 5، فأضف "Plang" إلى النتيجة.
  • يقبل القسمة على 7، فأضف "Plong" إلى النتيجة.
  • لا يقبل القسمة على 3 أو 5 أو 7، فيجب أن تكون النتيجة العدد نفسه على هيئة سلسلة نصية.

أمثلة

  • العدد 28 يقبل القسمة على 7، لكنه لا يقبل القسمة على 3 أو 5، لذا ستكون النتيجة "Plong".
  • العدد 30 يقبل القسمة على 3 و5، لكنه لا يقبل القسمة على 7، لذا ستكون النتيجة "PlingPlang".
  • العدد 34 لا يقبل القسمة على 3 أو 5 أو 7، لذا ستكون النتيجة "34".
Note

من الطرق الشائعة لاختبار ما إذا كان عدد يقبل القسمة على عدد آخر دون باقٍ أن تقارن باقي القسمة أو المقياس بالصفر. معظم اللغات توفر عوامل أو دوال لأحد هذين (أو لكليهما).

نصائح بخصوص jq

سيكون تعبير if-then-else مفيدًا في هذا التمرين.

مثال:

8, 10, 12 | if . < 10 then "\(.) is less than ten"
            elif . > 10 then "\(.) is more than ten"
            else "\(.) equals ten"
            end

يُخرج:

"8 is less than ten"
"10 equals ten"
"12 is more than ten"
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
jq Exercism

مستعد لبدء قطرات المطر؟

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

تعمّق في قطرات المطر!

استكشف حلولًا تستخدم خطوطًا دالية، وضرب المصفوفات، وحلولًا مبنية على جدول محسوب مسبقًا باستخدام ماكرو، ومنهجًا كائني التوجه، واستخدامًا مبهرًا لكل من Python وTCL، ونسخة للمؤسسات.