किसने तय किया (और किन अवधारणाओं के आधार पर) उस 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
बयान को एक विशाल के बराबर मानता है यदि / फारस ब्लॉक।