ऐसी घड़ी बनाइए जो बिना तारीखों के समय संभाल सके।
आपको उस घड़ी में मिनट जोड़ने और घटाने की सुविधा होनी चाहिए।
जो दो घड़ियाँ एक ही समय दर्शाती हैं, वे एक-दूसरे के बराबर होनी चाहिए।
इस अभ्यास को पूरा करने के लिए आपको डेटा टाइप Clock बनाना है, एक BEq और एक ToString इंस्टेंस जोड़ना है, और ये फंक्शन लागू करने हैं:
create, जो क्रमशः घंटे और मिनट दर्शाने वाले दो पूर्णांक लेता है (ये ऋणात्मक भी हो सकते हैं) और एक मान्य Clock बनाता है।add, जो एक Clock और उसमें के समय में जोड़े जाने वाले मिनटों की संख्या लेता है और एक नया Clock बनाता है।subtract, जो एक Clock और उसमें के समय से घटाए जाने वाले मिनटों की संख्या लेता है और एक नया Clock बनाता है।ध्यान दीजिए कि Clock टाइप 24 घंटे की घड़ी को दर्शाता है, जो "00:00" से "23:59" तक चलती है।
ध्यान दीजिए कि एक Clock में घंटे और मिनट दोनों सीमित होते हैं:
0 <= hour < 240 <= minute < 60Lean में ऐसी बाध्यताओं को टाइप लेवल पर व्यक्त करना सामान्य बात है, ताकि अमान्य वैल्यू बनाई ही न जा सकें। लेकिन इसके लिए यह सिद्ध करना भी पड़ता है कि कोई दी गई वैल्यू इन बाध्यताओं को पूरा करती है।
अगर आप इसके लिए तैयार हैं, तो इस विषय का एक अच्छा परिचय यहाँ है:
Exercism पर साइन अप कीजिए और Lean को 100 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।