ایزوگرام

ایزوگرام

آسان

دستورالعمل‌ها

مشخص کنید که آیا یک واژه یا عبارت «ایزوگرام» است یا نه.

ایزوگرام (که به آن «non-pattern word» هم می‌گویند) واژه یا عبارتی است که حرف تکراری ندارد، هرچند فاصله و خط تیره می‌توانند چندین بار ظاهر شوند.

نمونه‌های ایزوگرام:

  • lumberjacks
  • background
  • downstream
  • six-year-old

اما واژه‌ی isograms ایزوگرام نیست، چون حرف s در آن تکرار می‌شود.

راهنمایی‌ها

این تمرین با داده‌های متنی کار می‌کند. به دلایل تاریخی، نوع String در Haskell با [Char]، یعنی فهرستی از کاراکترها، هم‌معنا است. برای پردازش کارآمدتر داده‌های متنی می‌توان از نوع Text استفاده کرد.

به‌عنوان یک گسترش اختیاری برای این تمرین، می‌توانید

  • درباره‌ی انواع رشته در Haskell بخوانید.

  • در فهرست وابستگی‌های خود در package.yaml عبارت - text را اضافه کنید.

  • Data.Text را به روش زیر وارد کنید:

      import qualified Data.Text as T
      import           Data.Text (Text)
    
  • حالا می‌توانید مثلاً isIsogram :: Text -> Bool بنویسید و به ترکیب‌گرهای Data.Text مانند T.toLower ارجاع دهید.

  • به مستندات Data.Text مراجعه کنید.

این بخش کاملاً اختیاری است.


منبع

Wikipediaاین لینک در پنجره یا تب جدیدی باز می‌شود.
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Haskell Exercism

آماده‌اید ایزوگرام را شروع کنید؟

در Exercism ثبت‌نام کنید تا Haskell را همراه با 107 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.