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

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

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

ভূমিকা

প্যাকেজ ও মডিউল

ইমপোর্ট করা

সাধারণত use কিওয়ার্ড দিয়ে একটি মডিউল লোড করা হয়। এটি মডিউলটি লোড করার সাথে সাথে তার import মেথডও কল করে, ফলে এক্সপোর্ট করা সব সিম্বল ইমপোর্ট হয়ে যায়।

প্যাকেজের @EXPORT অ্যারেতে থাকা সিম্বলগুলো ডিফল্টভাবে ইমপোর্ট হয়। প্যাকেজের @EXPORT_OK অ্যারেতে থাকা সিম্বলগুলো স্পষ্টভাবে ইমপোর্ট করতে হয়।

এক্সপোর্ট করা

কোনো সিম্বল ইমপোর্ট করার জন্য প্রথমে সেটি এক্সপোর্ট করতে হয়। Exporter মডিউলটি Perl-এর সাথেই দেওয়া থাকে এবং এক্সপোর্ট করার সবচেয়ে সুবিধাজনক উপায়গুলোর একটি।

মডিউলটি ডিফাইন করা:

package Foo;

use Exporter ('import');
our @EXPORT_OK = ('bar');

sub bar { ... }

মডিউলটি ব্যবহার করা:

use Foo ('bar');

bar();

কোর মডিউল

Exporter-এর পাশাপাশি Perl-এ ব্যবহারের জন্য নানা ধরনের কোর মডিউল আছে। এখানে আপনার সামনে আসতে পারে এমন অনুশীলনীর জন্য কাজে লাগতে পারে এমন কিছু উদাহরণ হলো List::Util, Time::Piece এবং Math::BigRat।

CPAN

কোর মডিউল ছাড়াও, CPAN-এ Perl কমিউনিটির তৈরি হাজার হাজার অতিরিক্ত মডিউল ইনস্টল করার জন্য পাওয়া যায়। Exercism-এর Perl টেস্ট রানারের সাথে ব্যবহার করা যায় এমন কিছু মডিউল ইনস্টল করতে Perl ট্র্যাক একটি cpanfile ব্যবহার করে।

নির্দেশনা

এই অনুশীলনীতে আপনি একটি বিউটি সেলুনের অ্যাপয়েন্টমেন্ট শিডিউলার নিয়ে কাজ করবেন।

আপনার সামনে তিনটি কাজ, যেগুলোর প্রতিটিতেই অ্যাপয়েন্টমেন্টের তারিখ জড়িত থাকবে।

1. অ্যাপয়েন্টমেন্ট আগেই পেরিয়ে গেছে কি না দেখুন

appointment_has_passed সাবরুটিনটি ইমপ্লিমেন্ট করুন, যা একটি ডেট স্ট্রিং নেয় এবং দেখে যে অ্যাপয়েন্টমেন্টটি অতীতে কোথাও ছিল কি না:

appointment_has_passed("2019-07-25T13:45:00")
// => true

ডেট স্ট্রিংগুলো ISO 8601 ডেটটাইম ফরম্যাটে দেওয়া হবে: YYYY-mm-ddTHH:MM:SS

আপনাকে প্রাইভেট _parse_datetime সাবরুটিনটি ইমপ্লিমেন্ট করতে হবে। আপনার জন্য কয়েকটি মডিউল প্রস্তাব করা হলো:

  • Time::Piece হলো পার্লের একটি কোর মডিউল।
  • DateTime::Tiny CPAN থেকে পাওয়া যায়।

2. অ্যাপয়েন্টমেন্টটি বিকেলে কি না দেখুন

is_afternoon_appointment ফাংশনটি ইমপ্লিমেন্ট করুন, যা একটি ডেট স্ট্রিং নেয় এবং দেখে যে অ্যাপয়েন্টমেন্টটি বিকেলে (>= 12:00 এবং < 18:00) কি না:

is_afternoon_appointment("2019-07-25T13:45:00")
// => true

3. অ্যাপয়েন্টমেন্টের সময় ও তারিখ বর্ণনা করুন

describe_appointment ফাংশনটি ইমপ্লিমেন্ট করুন, যা একটি ডেট স্ট্রিং নেয় এবং সেই তারিখ ও সময়ের একটি বর্ণনা রিটার্ন করে:

describe_appointment("2019-07-25T13:45:00")
// => "You have an appointment on 07/25/2019 1:45 PM"

খেয়াল করুন, ঘণ্টাটি 0-12 সীমার মধ্যে থাকে এবং এর আগে কোনো লিডিং শূন্য বা স্পেস থাকে না।

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Perl Exercism

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

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