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