মিথ্যা যখন করবেন
কর্মক্ষেত্রে আজ আমার এক সহকর্মী ডু-অল (মিথ্যা) জন্য ইউস-কেস বর্ণনা করছেন। যার সাথে তিনি কথা বলছিলেন তিনি ভেবেছিলেন যে এটি নির্বোধ এবং এত সহজ যদি বিবৃতি আরও ভাল হয়। এরপরে আমরা আমাদের দিনের অর্ধেক অপচয় করতে এগিয়ে গেলাম এর সমতুল্য কিছু লেখার জন্য সবচেয়ে ভাল পদ্ধতি নিয়ে আলোচনা:
do
{
//some code that should always execute...
if ( condition )
{
//do some stuff
break;
}
//some code that should execute if condition is not true
if ( condition2 )
{
//do some more stuff
break;
}
//further code that should not execute if condition or condition2 are true
}
while(false);
এটি একটি প্রতিমা যা প্রায়শই সিতে পাওয়া যায়। আপনার প্রোগ্রামটি শর্তের উপর নির্ভর করে নীচের সিউডো-কোডের মতো একই আউটপুট তৈরি করা উচিত।
do
{
result += "A";
if ( C1)
{
result += "B";
break;
}
result += "C"
if ( C2 )
{
result += "D";
break;
}
result += "E";
}
while(false);
print(result);
সুতরাং ইনপুট হতে পারে:
1. C1 = true, C2 = true
2. C1 = true, C2 = false
3. C1 = false, C2 = true
4. C1 = false, C2 = false
এবং আউটপুটটি হওয়া উচিত:
1. "AB"
2. "AB"
3. "ACD"
4. "ACE"
এটি কোড-গল্ফ তাই উত্তরগুলি বাইট অনুসারে বিচার করা হবে। স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ করা হয়েছে।
হ্যাঁ এটি একটি সহজ, তবে আশা করি আমরা কিছু সৃজনশীল উত্তর দেখতে পাব, আমি আশা করছি সরলতা লোকদের এমন ভাষা ব্যবহার করতে উত্সাহিত করবে যার সাথে তারা কম আত্মবিশ্বাসী।
return resultআপনি জায়গাটিতে কোনও পদ্ধতি ব্যবহার করে একই জিনিসটি সম্পাদন করতে পারেন break। তারপরে আপনি পুনরায় ব্যবহারের যোগ্যতা এবং কলিং কোডটিও সহজ করার বোনাস পাবেন get তবে সম্ভবত আমি কিছু মিস করছি।
gotoব্যবহার করেন কারণ ব্যবহারটি gotoখারাপ ফর্ম বলে :)
do{}while(false)একবারই ম্যাক্রোগুলির অভ্যন্তরে ব্যবহার করেছি । একটি সাধারণ ifযথেষ্ট নয়, কারণ এটি elseউপস্থিত থাকতে পারে এমনগুলির সাথে এটির সাথে খারাপভাবে যোগাযোগ করে । ম্যাক্রো ছাড়া আপনি পাশাপাশি doএবং মুছে ফেলতে পারেন while।