আপনার বাবা-মা আপনাকে আর আপনার ভাই বা বোনকে দুই-বনাম-দুই বাস্কেটবলের একটি ম্যাচে চ্যালেঞ্জ করেছেন। নিশ্চিত ছিলেন যে জিতবেন, তাই শুরুতে আপনাকে প্রথম কয়েকটা পয়েন্ট স্কোর করতে দিলেন, কিন্তু তারপর খেলার নিয়ন্ত্রণ নিতে শুরু করলেন।
একটু বুস্টের দরকার পড়ায় আপনি পিগ ল্যাটিন-এ কথা বলা শুরু করেন। এটি বাচ্চারা বানিয়ে নেওয়া একটি ভাষা, যা বাচ্চা নয় এমন মানুষদের বুঝতে বেশ কষ্ট হয়।
এতে আপনি আপনার বাবা-মায়ের বিরুদ্ধে জিতে যাওয়ার সুবিধা পাবেন!
আপনার কাজ হলো ইংরেজি থেকে পিগ ল্যাটিনে টেক্সট অনুবাদ করা। অনুবাদটি চারটি নিয়ম দিয়ে সংজ্ঞায়িত করা হয়েছে, যেগুলো একটি শব্দের শুরুতে স্বরবর্ণ ও ব্যঞ্জনবর্ণের বিন্যাস দেখে। এই নিয়মগুলো প্রতিটি শব্দে স্বরবর্ণ ও ব্যঞ্জনবর্ণের ব্যবহার দেখে:
a, e, i, o, এবং u অক্ষরগুলোকোনো শব্দ যদি স্বরবর্ণ দিয়ে শুরু হয়, অথবা "xr" বা "yt" দিয়ে শুরু হয়, তবে শব্দের শেষে একটি "ay" ধ্বনি যোগ করুন।
উদাহরণস্বরূপ:
"apple" -> "appleay" (স্বরবর্ণ দিয়ে শুরু)"xray" -> "xrayay" ("xr" দিয়ে শুরু)"yttria" -> "yttriaay" ("yt" দিয়ে শুরু)কোনো শব্দ যদি এক বা একাধিক ব্যঞ্জনবর্ণ দিয়ে শুরু হয়, প্রথমে সেই ব্যঞ্জনবর্ণগুলো শব্দের শেষে সরান এবং তারপর শব্দের শেষে একটি "ay" ধ্বনি যোগ করুন।
উদাহরণস্বরূপ:
"pig" -> "igp" -> "igpay" (একটি ব্যঞ্জনবর্ণ দিয়ে শুরু)"chair" -> "airch" -> "airchay" (একাধিক ব্যঞ্জনবর্ণ দিয়ে শুরু)"thrush" -> "ushthr" -> "ushthray" (একাধিক ব্যঞ্জনবর্ণ দিয়ে শুরু)কোনো শব্দ যদি শূন্য বা তার বেশি ব্যঞ্জনবর্ণের পরে "qu" দিয়ে শুরু হয়, প্রথমে সেই ব্যঞ্জনবর্ণগুলো (যদি থাকে) এবং "qu" অংশটি শব্দের শেষে সরান, তারপর শব্দের শেষে একটি "ay" ধ্বনি যোগ করুন।
উদাহরণস্বরূপ:
"quick" -> "ickqu" -> "ickquay" ("qu" দিয়ে শুরু, আগে কোনো ব্যঞ্জনবর্ণ নেই)"square" -> "aresqu" -> "aresquay" (একটি ব্যঞ্জনবর্ণের পরে "qu" দিয়ে শুরু)কোনো শব্দ যদি এক বা একাধিক ব্যঞ্জনবর্ণের পরে "y" দিয়ে শুরু হয়, প্রথমে "y"-এর আগে থাকা ব্যঞ্জনবর্ণগুলো শব্দের শেষে সরান, তারপর শব্দের শেষে একটি "ay" ধ্বনি যোগ করুন।
কিছু উদাহরণ:
"my" -> "ym" -> "ymay" (একটি ব্যঞ্জনবর্ণের পরে "y" দিয়ে শুরু)"rhythm" -> "ythmrh" -> "ythmrhay" (একাধিক ব্যঞ্জনবর্ণের পরে "y" দিয়ে শুরু)Exercism-এ সাইন আপ করুন, COBOL ট্র্যাকের 46টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।
আমরা প্যাটার্ন ম্যাচিং ও রেগুলার এক্সপ্রেশন দেখি, সেইসাথে Prolog-এর একটি সুন্দর সমাধানও, আর জিজ্ঞাসা করি: আপনি কি অনুশীলনীটি সমাধান করেছিলেন, নাকি শুধু টেস্ট পাস করিয়েছিলেন?