2015-10-13 26 views
6

मुझे नहीं लगता कि यह पूरी तरह से एक स्विफ्ट/एक्सकोड चीज है, क्योंकि मैंने इसे अन्य भाषाओं/आईडीई में भी देखा है।स्विच स्टेटमेंट के अंदर 'केस' नकारात्मक इंडेंट क्यों है?

स्विच स्टेटमेंट के अंदर 'केस' क्यों नकारात्मक इंडेंट (मुझे यकीन नहीं है कि यह शब्द का सही तरीका है)?

मैं एक स्विच बयान इस

switch(type) { 
    case 1: 
     // do something 
    break; 
    case 2: 
     // do something else 
    break; 
    default: 
     // default 
    break; 
} 

की तरह कुछ देखने के लिए उम्मीद करेंगे लेकिन Xcode इस

switch(type) { 
case 1: 
    // do something 
    break; 
case 2: 
    // do something else 
    break; 
default: 
    // default 
    break; 
} 

पर जोर यह एक बग है, या वहाँ इस के लिए एक कारण है? यदि ऐसा है, तो ये क्या है? यह ऐसा कुछ है जिसने मुझे कुछ समय तक परेशान किया है।

+0

धन्यवाद @BSMP prefere, मुझे लगता है कि नहीं देखा। –

उत्तर

6

ठीक है, मुझे लगता है कि break कथन केस खंड में "सेक्शन" से संबंधित है। और किसी भी अन्य कथन के रूप में, यह case के सापेक्ष इंडेंट है। case के लिए switch के सापेक्ष - अच्छी तरह से मुझे नहीं पता।

लेकिन मैं पूरी तरह से आपके साथ हूं - और फ़ॉर्मेटिंग व्यक्तिगत वरीयता का मामला है। चूंकि Xcode में प्रारूपण नियमों स्पष्ट रूप से परिभाषित नहीं कर रहे हैं - यह एक बग नहीं हो सकता है;)

Fwiw, मैं इस शैली

switch x { 
    case 1: 
     // do something 
     break 
    case 2: 
     // do something else 
     break 
    default: 
     // default 
     break 
} 
+0

हाँ, मैं इस शैली को भी पसंद करता हूं लेकिन एक्सकोड में एक बड़ी समस्या है - यह अन्य आईडीई की तुलना में कार्यक्षमता में वर्षों पीछे है। – Sulthan

+3

वैसे, स्विफ्ट में, आपको 'स्विच' में किसी भी' ब्रेक 'की आवश्यकता नहीं है। यह निहित है। यदि आप मामलों – BPCorp

+0

@BPCorp के माध्यम से गिरावट को मजबूर करना चाहते हैं तो आपके पास 'गिरावट' कथन है, आप सही हैं। लेकिन एक मामले खंड में स्विफ्ट में कम से कम _one_ कथन होना चाहिए। – CouchDeveloper

संबंधित मुद्दे