ساعتی پیادهسازی کنید که زمان را بدون تاریخ مدیریت میکند.
باید بتوانید به آن دقیقه اضافه کنید و از آن دقیقه کم کنید.
دو ساعتی که یک زمان یکسان را نشان میدهند باید با هم برابر باشند.
این یک ساعت ۲۴ساعته است که از 00:00 تا 23:59 پیش میرود.
برای تکمیل این تمرین باید نوع دادهی Clock را تعریف کنید، یک نمونهی Eq اضافه کنید و این توابع را پیادهسازی کنید:
addDeltafromHourMintoStringaddDelta مدتی را که بر حسب ساعت و دقیقه بیان میشود به زمان مشخصی که با یک نمونه از Clock نشان داده میشود اضافه میکند.
fromHourMin یک ساعت و یک دقیقه میگیرد و نمونهای از Clock را با همان ساعت و دقیقه برمیگرداند.
toString نمونهای از Clock میگیرد و نمایش رشتهای ساعت را برمیگرداند، در قالبی صفرپرشده مانند 08:03 یا 22:35.
یک اعلان دادهی ساختگی و امضاهای نوع از قبل در جای خود قرار دارند، اما این به عهدهی خودتان است که توابع را تعریف کنید و یک نوع داده، newtype یا مترادف نوع معنادار بسازید.
اگر برای شروع کار با انواع به کمک نیاز دارید، نگاهی به اینها بیندازید: