Bob مراهق متراخٍ. يحب أن يظن أنه رائع جدًا. وهو بالتأكيد لا يتحمس للأشياء. فذلك لن يكون رائعًا.
عندما يتحدث الناس إليه، تكون ردوده محدودة جدًا.
مهمتك هي تحديد ما سيردّ به Bob على من يخاطبه بشيء أو يطرح عليه سؤالًا.
لا يجيب Bob إلا بأحد خمسة أشياء:
عليك تنفيذ الدالة responseFor التي تُرجع ردّ Bob على مدخل معيّن. يمكنك استخدام التوقيع المرفق إن لم تكن متأكدًا من الأنواع، لكن لا تدعه يقيّد إبداعك:
responseFor :: String -> String
لحل هذا التمرين، يمكنك الاطّلاع على:
يتعامل هذا التمرين مع بيانات نصية. لأسباب تاريخية، فإن نوع String في Haskell مرادف لـ [Char]، وهو مصفوفة من المحارف. ولمعالجة بيانات نصية بكفاءة أكبر، يمكن استخدام نوع Text.
وكإضافة اختيارية إلى هذا التمرين، يمكنك
أن تقرأ عن أنواع السلاسل النصية في Haskell.
أن تضيف - text إلى قائمة الاعتماديات لديك في package.yaml.
أن تستورد Data.Text بالطريقة التالية:
import qualified Data.Text as T
import Data.Text (Text)
يمكنك الآن كتابة شيء مثل responseFor :: Text -> Text والإشارة إلى مُركّبات Data.Text مثل T.isSuffixOf.
أن تطّلع على توثيق Data.Text،
يمكنك بعد ذلك استبدال كل مواضع String بـ Text في Bob.hs:
responseFor :: Text -> Text
هذا الجزء اختياري بالكامل.
سجّل في Exercism لتتعلّم وتتقن Haskell عبر 107 تمارين، وإرشاد بشري حقيقي، وكل ذلك مجانًا.