घड़ी

घड़ी

मध्यम

निर्देश

ऐसी घड़ी बनाइए जो बिना तारीखों के समय संभाल सके।

आपको उस घड़ी में मिनट जोड़ने और घटाने की सुविधा होनी चाहिए।

जो दो घड़ियाँ एक ही समय दर्शाती हैं, वे एक-दूसरे के बराबर होनी चाहिए।

कार्यान्वयन

इस अभ्यास को पूरा करने के लिए आपको डेटा टाइप Clock बनाना है, एक BEq और एक ToString इंस्टेंस जोड़ना है, और ये फंक्शन लागू करने हैं:

  • create, जो क्रमशः घंटे और मिनट दर्शाने वाले दो पूर्णांक लेता है (ये ऋणात्मक भी हो सकते हैं) और एक मान्य Clock बनाता है।
  • add, जो एक Clock और उसमें के समय में जोड़े जाने वाले मिनटों की संख्या लेता है और एक नया Clock बनाता है।
  • subtract, जो एक Clock और उसमें के समय से घटाए जाने वाले मिनटों की संख्या लेता है और एक नया Clock बनाता है।

ध्यान दीजिए कि Clock टाइप 24 घंटे की घड़ी को दर्शाता है, जो "00:00" से "23:59" तक चलती है।

Advanced

ध्यान दीजिए कि एक Clock में घंटे और मिनट दोनों सीमित होते हैं:

  • 0 <= hour < 24
  • 0 <= minute < 60

Lean में ऐसी बाध्यताओं को टाइप लेवल पर व्यक्त करना सामान्य बात है, ताकि अमान्य वैल्यू बनाई ही न जा सकें। लेकिन इसके लिए यह सिद्ध करना भी पड़ता है कि कोई दी गई वैल्यू इन बाध्यताओं को पूरा करती है।

अगर आप इसके लिए तैयार हैं, तो इस विषय का एक अच्छा परिचय यहाँ है:


स्रोत

Erin Drummond के साथ पेयरिंग सेशन
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Lean Exercism

घड़ी शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Lean को 100 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।