الاختصار

الاختصار

سهل

التعليمات

حوّل عبارة إلى اختصارها.

يعشق أهل التقنية اختصاراتهم المكوّنة من ثلاثة أحرف (TLA)!

ساعد في توليد بعض المصطلحات التقنية بكتابة برنامج يحوّل اسمًا طويلًا مثل Portable Network Graphics إلى اختصاره (PNG).

تُعالَج علامات الترقيم على النحو التالي: الشرطات فواصل بين الكلمات (مثل المسافات البيضاء)، ويمكن حذف جميع علامات الترقيم الأخرى من المدخل.

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

المدخل المخرج
As Soon As Possible ASAP
Liquid-crystal display LCD
Thank George It's Friday! TGIF

تلميحات

يتعامل هذا التمرين مع بيانات نصية. ولأسباب تاريخية، فإن النوع String في Haskell مرادف للنوع [Char]، وهو مصفوفة من المحارف. ولمعالجة البيانات النصية بكفاءة أكبر، يمكن استخدام النوع Text.

وكامتداد اختياري لهذا التمرين، يمكنك

  • أن تقرأ عن أنواع السلاسل النصية في Haskell.

  • أن تضيف - text إلى قائمة التبعيات في package.yaml.

  • أن تستورد Data.Text بالطريقة التالية:

      import qualified Data.Text as T
      import           Data.Text (Text)
    
  • يمكنك الآن أن تكتب مثلًا abbreviate :: Text -> Text وأن تشير إلى مُركِّبات Data.Text مثل T.filter.

  • أن تطّلع على التوثيق الخاص بـ Data.Text.

هذا الجزء اختياري بالكامل.


المصدر

Julien Vanierيفتح الرابط في نافذة أو علامة تبويب جديدة
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Haskell Exercism

مستعد لبدء الاختصار؟

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

تعمّق في الاختصار!

نغوص بهدوء في التعبيرات النمطية، بدءًا من مطابقة المسافات البيضاء الأساسية، ومرورًا باستكشاف يونيكود، وانتهاءً بالتحقق الخلفي السلبي. ونختم بإلقاء نظرة على بعض الأساليب الأخرى لتمرين الاختصار، بما في ذلك آلات الحالة.