مشخص کنید که آیا یک واژه یا عبارت «ایزوگرام» است یا نه.
ایزوگرام (که به آن «non-pattern word» هم میگویند) واژه یا عبارتی است که حرف تکراری ندارد، هرچند فاصله و خط تیره میتوانند چندین بار ظاهر شوند.
نمونههای ایزوگرام:
اما واژهی 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 مراجعه کنید.
این بخش کاملاً اختیاری است.