किसने तय किया (और किन अवधारणाओं के आधार पर) उस switchनिर्माण (कई भाषाओं में) breakप्रत्येक कथन में उपयोग करना है?
हमें ऐसा कुछ क्यों लिखना है:
switch(a)
{
case 1:
result = 'one';
break;
case 2:
result = 'two';
break;
default:
result = 'not determined';
break;
}
(PHP और JS में इस पर ध्यान दिया गया है; इस का उपयोग करने वाली संभवतः कई अन्य भाषाएँ हैं)
यदि 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' ]। थोड़ा बेहतर सवाल यह है कि, मेरी वर्तमान पसंदीदा भाषा (C #) में, ब्रेक अनिवार्य है , और कोई अंतर्निहित गिरावट नहीं है , हालांकि; भूल breakमें सिंटेक्स त्रुटि है ...: \
case TOKEN_A: /*set flag*/; case TOKEN_B: /*consume token*/; break; case TOKEN_C: /*...*/
breakकहीं भी मौजूद होने पर कूदना छोड़ें " को लागू करने के लिए एक बहुत ही सरल नियम है "अगर इसमें fallthroughमौजूद है तो छलांग न लगाएं switch"।
CASEबयान को एक विशाल के बराबर मानता है यदि / फारस ब्लॉक।