مسیرها
/
Haskell
Haskell
/
تمرین‌ها
/
مجموعه‌ی سفارشی
مجموعه‌ی سفارشی

مجموعه‌ی سفارشی

متوسط

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

یک نوع مجموعه‌ی سفارشی بسازید.

گاهی تعریف یک ساختار داده‌ی سفارشی از نوعی خاص، مثل مجموعه، ضروری است. در این تمرین مجموعه‌ی خودتان را تعریف می‌کنید. نحوه‌ی کارکرد درونی آن مهم نیست، تا زمانی که مثل مجموعه‌ای از عنصرهای یکتا رفتار کند.

راهنمایی‌ها

برای تکمیل این تمرین، باید نوع داده‌ی CustomSet را ایجاد کنید، همراه با نمونه‌های Eq و Show، و توابع زیر را پیاده‌سازی کنید:

  • delete
  • difference
  • empty
  • fromList
  • insert
  • intersection
  • isDisjointFrom
  • isSubsetOf
  • member
  • null
  • size
  • toList
  • union

یک اعلان داده‌ی ساختگی و امضاهای نوع از قبل در جای خود قرار دارند، اما تعریف توابع و ساختن یک نوع داده، newtype یا هم‌معنای نوع معنادار به عهده‌ی خودتان است.

اگر به نوشتن یک پیاده‌سازی کارآمد علاقه دارید اما دقیقاً نمی‌دانید از کجا شروع کنید، بهترین کتاب مقدماتی که من می‌شناسم، «Purely Functional Data Structures» نوشته‌ی Chris Okasaki است که می‌توانید نسخه‌ای از آن را اینجا بخوانید: https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf

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

آماده‌اید مجموعه‌ی سفارشی را شروع کنید؟

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