ट्रैक
/
F#
F#
/
अभ्यास
/
ब्यूटी के लिए बुकिंग
ब्यूटी के लिए बुकिंग

ब्यूटी के लिए बुकिंग

सीखने का अभ्यास

परिचय

डेटाटाइम

F# में DateTime एक अपरिवर्तनीय ऑब्जेक्ट है जिसमें तारीख और समय, दोनों की जानकारी रहती है। DateTime के इंस्टेंस पर उनके मेथड कॉल करके काम किया जाता है। एक बार कोई DateTime बन जाए, तो उसकी वैल्यू कभी नहीं बदल सकती। जो मेथड या फंक्शन DateTime को बदलते हुए दिखते हैं, वे वास्तव में एक नया DateTime लौटाते हैं।

तारीखों और समय का लिखित रूप कल्चर पर निर्भर करता है। मान लीजिए, एक DateTime है जिसकी तारीख 28 मार्च 2019 और समय 14:30:59 सेट है। जब en-US कल्चर (अमेरिकी अंग्रेज़ी) इस्तेमाल करते हैं, तो इस DateTime को string में बदलने पर "3/28/19 2:30:59 PM" लौटता है। fr-BE कल्चर (बेल्जियम की फ्रेंच) में वही कोड एक अलग वैल्यू लौटाता है: "28/03/19 14:30:59".

यह समझना ज़रूरी है कि कौन-से DateTime मेथड कल्चर पर निर्भर हैं। सामान्य रूप से, DateTime का कोई भी ऐसा मेथड जो string से जुड़ा हो (चाहे इनपुट के रूप में हो या आउटपुट के रूप में), वह मौजूदा कल्चर पर निर्भर होगा।

निर्देश

इस अभ्यास में आप न्यूयॉर्क के एक ब्यूटी सैलून के लिए अपॉइंटमेंट शेड्यूलर पर काम करेंगे, जो 15 सितंबर 2012 को खुला था।

आपके पास चार कार्य हैं, और इन सबमें अपॉइंटमेंट की तारीखों से ही काम पड़ेगा। तारीखें और समय इन तीन फॉर्मैट में से किसी एक में होंगे:

  • "7/25/2019 13:45:00"
  • "July 25, 2019 13:45:00"
  • "Thursday, July 25, 2019 13:45:00:00"
Caution

टेस्ट अपने आप कल्चर को en-US पर सेट कर देंगे। आपको कल्चर खुद सेट करने या बताने की ज़रूरत नहीं है।

1. अपॉइंटमेंट की तारीख पार्स कीजिए

ऐसा schedule फंक्शन बनाइए जो अपॉइंटमेंट की तारीख के लिखित रूप को पार्स करके उसे उससे मेल खाने वाले DateTime फॉर्मैट में बदल सके:

schedule "7/25/2019 13:45:00"
// => DateTime(2019, 7, 25, 13, 45, 0)

2. जाँचिए कि अपॉइंटमेंट बीत चुका है या नहीं

ऐसा hasPassed फंक्शन बनाइए जो अपॉइंटमेंट की तारीख लेता है और जाँचता है कि वह अपॉइंटमेंट कहीं अतीत में रह गया है या नहीं:

hasPassed (DateTime(1999, 12, 31, 9, 0, 0))
// => true

3. जाँचिए कि अपॉइंटमेंट दोपहर बाद का है या नहीं

ऐसा isAfternoonAppointment फंक्शन बनाइए जो अपॉइंटमेंट की तारीख लेता है और जाँचता है कि वह अपॉइंटमेंट दोपहर बाद का है या नहीं (12:00 बजे या उसके बाद, और 18:00 बजे से पहले):

isAfternoonAppointment (DateTime(2019, 03, 29, 15, 0, 0))
// => true

4. अपॉइंटमेंट का समय और तारीख बताइए

ऐसा description फंक्शन बनाइए जो अपॉइंटमेंट की तारीख लेता है और उस तारीख और समय का विवरण लौटाता है:

description (DateTime(2019, 03, 29, 15, 0, 0))
// => "You have an appointment on 3/29/2019 3:00:00 PM."

5. सालगिरह की तारीख लौटाइए

ऐसा anniversaryDate फंक्शन बनाइए जो इस साल की सालगिरह की तारीख लौटाता है, यानी 15 सितंबर:

anniversaryDate()
// => DateTime(2019, 9, 15, 0, 0, 0)
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
F# Exercism

ब्यूटी के लिए बुकिंग शुरू करने के लिए तैयार हैं?

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