Pig Latin

Pig Latin

متوسط

مقدمة

تحدّاك أنت وشقيقك والداكما في مباراة كرة سلة اثنين ضد اثنين. واثقَين من فوزهما، سمحا لك بتسجيل أول نقطتين، ثم بدآ بالسيطرة على المباراة. ولأنك كنت بحاجة إلى دفعة صغيرة، بدأت تتحدث بلغة Pig Latin، وهي لغة أطفال مُختلقة يصعب على غير الأطفال فهمها. سيمنحك هذا الأفضلية لتتفوق على والديك!

التعليمات

مهمتك هي ترجمة النص من الإنجليزية إلى Pig Latin. تُحدَّد الترجمة بأربع قواعد تنظر إلى نمط الحروف المتحركة والساكنة في بداية الكلمة. تنظر هذه القواعد إلى استخدام كل كلمة للحروف المتحركة والساكنة:

  • الحروف المتحركة: الحروف a وe وi وo وu
  • الحروف الساكنة: الحروف الـ 21 الأخرى من الأبجدية الإنجليزية

القاعدة 1

إذا بدأت الكلمة بحرف متحرك، أو بدأت بـ "xr" أو "yt"، فأضف صوت "ay" إلى نهاية الكلمة.

على سبيل المثال:

  • "apple" -> "appleay" (تبدأ بحرف متحرك)
  • "xray" -> "xrayay" (تبدأ بـ "xr")
  • "yttria" -> "yttriaay" (تبدأ بـ "yt")

القاعدة 2

إذا بدأت الكلمة بحرف ساكن واحد أو أكثر، فانقل تلك الحروف الساكنة أولًا إلى نهاية الكلمة، ثم أضف صوت "ay" إلى نهاية الكلمة.

على سبيل المثال:

  • "pig" -> "igp" -> "igpay" (تبدأ بحرف ساكن واحد)
  • "chair" -> "airch" -> "airchay" (تبدأ بعدة حروف ساكنة)
  • "thrush" -> "ushthr" -> "ushthray" (تبدأ بعدة حروف ساكنة)

القاعدة 3

إذا بدأت الكلمة بصفر أو أكثر من الحروف الساكنة متبوعة بـ "qu"، فانقل تلك الحروف الساكنة (إن وُجدت) والجزء "qu" أولًا إلى نهاية الكلمة، ثم أضف صوت "ay" إلى نهاية الكلمة.

على سبيل المثال:

  • "quick" -> "ickqu" -> "ickquay" (تبدأ بـ "qu"، دون حروف ساكنة قبلها)
  • "square" -> "aresqu" -> "aresquay" (تبدأ بحرف ساكن واحد متبوع بـ "qu")

القاعدة 4

إذا بدأت الكلمة بحرف ساكن واحد أو أكثر متبوعًا بـ "y"، فانقل الحروف الساكنة التي تسبق "y" أولًا إلى نهاية الكلمة، ثم أضف صوت "ay" إلى نهاية الكلمة.

بعض الأمثلة:

  • "my" -> "ym" -> "ymay" (تبدأ بحرف ساكن واحد متبوع بـ "y")
  • "rhythm" -> "ythmrh" -> "ythmrhay" (تبدأ بعدة حروف ساكنة متبوعة بـ "y")
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Roc Exercism

مستعد لبدء Pig Latin؟

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

تعمّق في Pig Latin!

نلقي نظرة على مطابقة الأنماط والتعبيرات النمطية، وعلى حل أنيق بلغة Prolog، ونسأل: هل حللت التمرين فعلًا أم جعلت الاختبارات تنجح فحسب؟