কোড-গল্ফার হিসাবে, আমরা মুক্তি দেওয়ার জন্য অভ্যস্ত নই ( অবশ্যই )। আমাদের এটি করতে সাহায্য করার জন্য কয়েকটি সরঞ্জামের দরকার আছে।
অবশ্যই, একটি নতুন প্রকাশের বিপণনে সহায়তা করার জন্য আমাদের একটি সুন্দর এবং চকচকে রিলিজ সংস্করণ প্রয়োজন। 3.0.০.০ সংস্করণ শুনলে কে উত্তেজিত হয় না?
কার্য
আপনার কাজটি হ'ল একটি প্রোগ্রাম / রুটিন / ... লিখুন যা কোনও সংস্করণ নম্বর বৃদ্ধি করবে।
আপনাকে সংস্করণ নম্বর বৃদ্ধি করতে হবে এবং "কম গুরুত্বপূর্ণ "গুলি পুনরায় সেট করতে হবে (অর্থাত্ প্যাচ সংস্করণ)।
আপনি দুটি আর্গুমেন্ট পাবেন: বর্তমান সংস্করণ (প্রাক্তন "1.0.3") স্ট্রিং হিসাবে এবং কোনটি আপডেট করতে হবে তা জানতে একটি সূচক (0 বা 1-ইনডেক্স)।
উদাহরণ, 0-সূচকযুক্ত:
next-version("1.0.3", 0) # 2.0.0
next-version("1.2.3.4.5", 2) # 1.2.4.0.0
next-version("10.0", 0) # 11.0
next-version("3", 0) # 4
next-version("1", 7) # ERROR
next-version("01", 0) # ERROR
সংস্করণটি একটি স্ট্রিং, প্রতিটি অংশ একটি সংখ্যা, একটি বিন্দুর সাহায্যে পৃথক। এখানে কোনও শীর্ষস্থানীয়, কোনও পিছনে বা কোনও টানা বিন্দু (এবং সংখ্যার / বিন্দুর বাইরে কিছুই নেই) থাকতে পারে। সংস্করণ স্ট্রিংয়ের আকারের কোনও সীমা নেই।
^[1-9]\d*(\.[1-9]\d*)*$
ত্রুটি কেস (শেষ দুটি উদাহরণ) অপরিবর্তিত আচরণ। ভুল ইনপুটগুলির ক্ষেত্রে যা ঘটে তা এই চ্যালেঞ্জের সাথে কোনও প্রাসঙ্গিক নয়।
যথারীতি, স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়। আপনাকে স্ট্রিংটি মুদ্রণ করতে বা ফিরতে অনুমতি দেওয়া হয়েছে।