ساعت

ساعت

متوسط

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

ساعتی پیاده‌سازی کنید که زمان را بدون تاریخ مدیریت می‌کند.

باید بتوانید به آن دقیقه اضافه کنید و از آن دقیقه کم کنید.

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

راهنمایی‌ها

این یک ساعت ۲۴ساعته است که از 00:00 تا 23:59 پیش می‌رود.

برای تکمیل این تمرین باید نوع داده‌ی Clock را تعریف کنید، یک نمونه‌ی Eq اضافه کنید و این توابع را پیاده‌سازی کنید:

  • addDelta
  • fromHourMin
  • toString

addDelta مدتی را که بر حسب ساعت و دقیقه بیان می‌شود به زمان مشخصی که با یک نمونه از Clock نشان داده می‌شود اضافه می‌کند.

fromHourMin یک ساعت و یک دقیقه می‌گیرد و نمونه‌ای از Clock را با همان ساعت و دقیقه برمی‌گرداند.

toString نمونه‌ای از Clock می‌گیرد و نمایش رشته‌ای ساعت را برمی‌گرداند، در قالبی صفرپرشده مانند 08:03 یا 22:35.

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

اگر برای شروع کار با انواع به کمک نیاز دارید، نگاهی به اینها بیندازید:


منبع

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

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

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