ট্র্যাক
/
F#
F#
/
অনুশীলনী
/
সৌন্দর্যের জন্য বুকিং
সৌন্দর্যের জন্য বুকিং

সৌন্দর্যের জন্য বুকিং

লার্নিং অনুশীলনী

ভূমিকা

ডেটটাইম

F#-এ একটি DateTime হলো একটি অপরিবর্তনীয় অবজেক্ট, যার মধ্যে তারিখ এবং সময়, দুটো তথ্যই থাকে। DateTime ইনস্ট্যান্স নিয়ন্ত্রণ করা হয় সেগুলোর মেথড কল করার মাধ্যমে। একবার একটি DateTime তৈরি হয়ে গেলে তার মান আর কখনও বদলানো যায় না। যে মেথড বা ফাংশন দেখে মনে হয় DateTime বদলে দিচ্ছে, তারা আসলে নতুন একটি DateTime রিটার্ন করে।

তারিখ ও সময়ের লিখিত রূপ নির্ভর করে কালচার-এর উপর। ধরুন, একটি DateTime-এর তারিখ ২৮ মার্চ ২০১৯ আর সময় 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 নিয়ে কাজ করে (ইনপুট হিসেবে হোক বা আউটপুট হিসেবে), সেটি বর্তমান কালচারের উপর নির্ভরশীল।

নির্দেশনা

এই অনুশীলনীতে আপনি নিউ ইয়র্কের একটি বিউটি সেলুনের জন্য অ্যাপয়েন্টমেন্ট শিডিউলার নিয়ে কাজ করবেন। সেলুনটি ২০১২ সালের ১৫ সেপ্টেম্বর চালু হয়েছিল।

আপনার চারটি কাজ আছে, যার সবকটিতেই অ্যাপয়েন্টমেন্টের তারিখ জড়িত থাকবে। তারিখ ও সময় নিচের তিনটি ফরম্যাটের একটি ব্যবহার করবে:

  • "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 ফাংশনটি তৈরি করুন, যা চলতি বছরের অ্যানিভার্সারি তারিখ রিটার্ন করে, যেটি ১৫ সেপ্টেম্বর:

anniversaryDate()
// => DateTime(2019, 9, 15, 0, 0, 0)
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
F# Exercism

সৌন্দর্যের জন্য বুকিং শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, F# ট্র্যাকের 18টি কনসেপ্ট148টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।