সময় মাপার পদ্ধতিটা আসলে বেশ এলোমেলো। এক মিনিটে ৬০ সেকেন্ড, আর এক ঘণ্টায় ৬০ মিনিট। এটা এসেছে প্রাচীন ব্যাবিলন থেকে, যেখানে তাঁরা তাঁদের সংখ্যা পদ্ধতির ভিত্তি হিসেবে ৬০ ব্যবহার করতেন। এক দিনে ২৪ ঘণ্টা, এক সপ্তাহে ৭ দিন, আর এক মাসে কত দিন? আসলে মাসের দিনসংখ্যা নির্ভর করে আপনি কোন মাসে আছেন তার উপরই নয়, বরং আপনার দেশে কোন ধরনের ক্যালেন্ডার ব্যবহৃত হয় তার উপরও।
কিন্তু তার বদলে যদি আমরা শুধু সেকেন্ড দিয়েই সময়ের ব্যবধান প্রকাশ করি? তাহলে বড় সংখ্যার সেকেন্ডকে আরও সহজে বোঝা যায় এমন পরিমাণে লিখতে আমরা মেট্রিক সিস্টেমের প্রিফিক্স ব্যবহার করতে পারি।
যদি আমরা কখনো মঙ্গল গ্রহে বা অন্য কোনো গ্রহে উপনিবেশ স্থাপন করি, তাহলে সময় মাপা আরও জটিল হয়ে উঠবে। যদি কেউ "বছর" বলে, তাহলে সে কি বোঝায় পৃথিবীর বছর, নাকি মঙ্গলের বছর?
এই অনুশীলনীর ধারণা এসেছে লেখক ভার্নর ভিঞ্জের সায়েন্স ফিকশন উপন্যাস "A Deepness in the Sky" থেকে। এতে লেখক সময় পরিমাপের ভিত্তি হিসেবে মেট্রিক সিস্টেম ব্যবহার করেছেন।
আপনার কাজ হলো একটি নির্দিষ্ট তারিখের এক গিগাসেকেন্ড পরে তারিখ ও সময় বের করা।
এক গিগাসেকেন্ড হলো এক হাজার মিলিয়ন সেকেন্ড। অর্থাৎ এক লিখে তার পরে নয়টি শূন্য বসালে যা হয়।
আপনি যদি ২৪ জানুয়ারি, ২০১৫, রাত 22:00 (রাত 10:00:00)-তে জন্মগ্রহণ করে থাকেন, তাহলে ২ অক্টোবর, ২০৪৬, রাত 23:46:40 (রাত 11:46:40)-এ আপনার বয়স এক গিগাসেকেন্ড হতো।
Lean-এর স্ট্যান্ডার্ড লাইব্রেরির Time মডিউলে তারিখ ও সময়ের জন্য সাপোর্ট আছে। এটি ফাইলের শুরুতে ইমপোর্ট করতে হবে:
import Std.Time
Lean-এ তারিখ ও সময় স্ট্রংলি টাইপড, প্রতিটি কম্পোনেন্টের (বছর, মাস, দিন, ঘণ্টা, ইত্যাদি) নিজস্ব টাইপ রয়েছে এবং তা স্পষ্টভাবে কনস্ট্রাক্ট করতে হয়।
Time মডিউলে বেশ কিছু ম্যাক্রো আছে যা এই কাজে সাহায্য করতে পারে।
Exercism-এ সাইন আপ করুন, Lean ট্র্যাকের 100টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।