কে সিদ্ধান্ত নিয়েছে (এবং কোন ধারণার ভিত্তিতে) যে switch
নির্মাণটি (বহু ভাষায়) break
প্রতিটি বিবৃতিতে ব্যবহার করতে হয়?
আমাদের কেন এমন কিছু লিখতে হবে:
switch(a)
{
case 1:
result = 'one';
break;
case 2:
result = 'two';
break;
default:
result = 'not determined';
break;
}
(পিএইচপি এবং জেএসে এটি লক্ষ্য করা গেছে; এটি ব্যবহার করে সম্ভবত আরও অনেকগুলি ভাষা রয়েছে)
যদি এর switch
বিকল্প হয় তবে if
আমরা কেন একই নির্মাণকে ব্যবহার করতে পারি না if
? অর্থাৎ,
switch(a)
{
case 1:
{
result = 'one';
}
case 2:
{
result = 'two';
}
default:
{
result = 'not determined';
}
}
বলা হয়ে থাকে যে break
বর্তমানটিকে অনুসরণ করে ব্লকটি কার্যকর করা বাধা দেয়। কিন্তু, কেউ কি সত্যিই এমন পরিস্থিতির মধ্যে চলে যায়, যেখানে বর্তমান ব্লকটি এবং তার অনুসরণকারীদের কার্যকর করার কোনও প্রয়োজন ছিল? আমি না। আমার জন্য, break
সবসময় আছে। প্রতিটি ব্লকে প্রতিটি কোডে।
case 'a': case 'A': case 'b': case 'B'
তবে বেশিরভাগ কারণেই আমি করতে পারি না case in [ 'a', 'A', 'b', 'B' ]
। কিছুটা ভাল প্রশ্ন হ'ল, আমার বর্তমান পছন্দসই ভাষাতে (সি #), বিরতি বাধ্যতামূলক , এবং কোনও অন্তর্নিহিত পতন নেই ; ভুলে যাওয়া break
একটি সিনট্যাক্স ত্রুটি ...: \
case TOKEN_A: /*set flag*/; case TOKEN_B: /*consume token*/; break; case TOKEN_C: /*...*/
break
কোন জায়গায় উপস্থিত হল" চেয়ে বাস্তবায়ন করার জন্য একটি উল্লেখযোগ্যভাবে সহজ নিয়ম "একটি লাফ নির্গত যদি না fallthrough
একটি উপস্থিত switch
"।
CASE
বিবৃতি দৈত্যের সমতুল্য বিবেচনা করে যদি / অন্যটি ব্লক করে।