ট্র্যাক
/
Go
Go
/
অনুশীলনী
/
রোবটের নাম
রোবটের নাম

রোবটের নাম

মধ্যম

নির্দেশনা

রোবট ফ্যাক্টরির সেটিংস পরিচালনা করুন।

ফ্যাক্টরি ফ্লোর থেকে বেরোনোর সময় রোবটের কোনো নাম থাকে না।

আপনি যখন প্রথমবার একটি রোবট চালু করেন, তখন দুইটি বড় হাতের অক্ষরের পর তিনটি সংখ্যা, এই ফরম্যাটে একটি এলোমেলো নাম তৈরি হয়, যেমন RX837 বা BC811।

মাঝে মাঝে আমাদের একটি রোবটকে তার ফ্যাক্টরি সেটিংসে রিসেট করতে হয়, অর্থাৎ তার নাম মুছে যায়। পরেরবার আপনি জিজ্ঞাসা করলে ওই রোবট নতুন একটি এলোমেলো নাম জানাবে।

নামগুলো এলোমেলো হতে হবে: সেগুলো এমন কোনো ক্রম অনুসরণ করবে না যা আগে থেকে আন্দাজ করা যায়। এলোমেলো নাম ব্যবহারের মানে হলো কোলিশনের ঝুঁকি। আপনার সমাধানকে নিশ্চিত করতে হবে যে প্রতিটি বিদ্যমান রোবটের নাম অনন্য।

ইমপ্লিমেন্টেশন

রোবটের নাম ফুরিয়ে যেতে পারে। সম্ভাব্য সব রোবটের নাম একবার অ্যাসাইন হয়ে গেলে একটি এরর রিটার্ন করা উচিত।

বোনাস টেস্ট

একবার go test পাস করাতে পারলে আপনি দেখবেন, টেস্ট স্যুটে TestCollisions নামে একটি টেস্ট আছে, যা ডিফল্টভাবে স্কিপ করা থাকে, কারণ এটি চালাতে অনেক সময় লাগতে পারে। এই টেস্টটি নতুন নতুন রোবট তৈরি করতে থাকে, যতক্ষণ না রোবটটিকে আর নতুন কোনো নাম অ্যাসাইন করা সম্ভব হয়।

টেস্টটি চালু করতে এই লাইনটি মুছে ফেলুন:

t.Skip("skipping test as it can take a long time to run if solution is sub-optimal.")

এই টেস্টটি পাস করাতে হলে আপনাকে নিশ্চিত করতে হবে যে কোনো রোবটের নাম আগে ব্যবহার করা হয়নি, এবং নামগুলো যাতে দক্ষভাবে অ্যাসাইন করা যায়।


সূত্র

gSchool-এ Paul Blackwell-এর সঙ্গে একটি ডিবাগিং সেশন।
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Go Exercism

রোবটের নাম শুরু করতে প্রস্তুত?

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