2013-07-17 7 views
6

जब वे केस स्टेटमेंट लागू करते हैं तो कई ब्लॉग और ट्यूटोरियल में अलग-अलग इंडेंटेशन होते हैं। प्रत्येक 'लाइन' के संदर्भ में अलग इंडेंटेशन होता है। केस लूप का उपयोग करते समय इंडेंट करने के लिए कोई सर्वोत्तम अभ्यास है?रुबी: क्या केस स्टेटमेंट इंडेंट करने का कोई सही तरीका है?

+1

कोई सही तरीका या यहां तक ​​कि केवल एक सर्वोत्तम अभ्यास नहीं है। शायद कुछ ऐसे लगातार तरीके हैं जो पठनीयता के लिए सबसे लोकप्रिय हैं। यहां केवल एक उदाहरण है जो लोकप्रिय है: https://github.com/styleguide/ruby – lurker

+0

उदाहरण दें .. जो आपको उलझन में डालता है, –

उत्तर

10

आम सहमति when को case के समान स्तर के रूप में इंडेंट करना है।

case sym 
when :foo then ... 
when :bar then ... 
else ... 
end 

मैं यह अच्छी तरह से स्थापित है लगता है, और किसी भी प्रामाणिक स्रोत है कि अन्यथा का दावा नहीं देखा है।

+1

मैंने कुछ मामलों को देखा है (जितनी बार आपका उदाहरण नहीं) जिसमें 'कब' कुछ रिक्त स्थान से इंडेंट किया गया है। और फिर ऐसे मामले हैं जहां 'कब' खंड बहुत आसान नहीं है और यह एकाधिक पंक्ति है जो आपके उदाहरण में नहीं दिखाया गया है। – lurker

+0

'जब' एक रेखा से आगे बढ़ सकता है। यह शुरुआती बिंदु है जो महत्वपूर्ण है। – sawa

+2

मेरा मानना ​​है कि इसे कभी-कभी "पिकैक्स नोटेशन" कहा जाता है क्योंकि इसे "पिकैक्स बुक" (http://pragprog.com/book/ruby/programming-ruby) द्वारा पेश किया गया था। – henrikhodne

2

इस तरह मैंने इसे देखा है। 'जब' अगली पंक्ति पर होना चाहिए और इंडेंट की घटना में क्या होता है।

case something 
when 'a' 
    what happens when 'a' 
when 'b' 
    what happens when 'b' 
when 'c' 
    what happens when 'c' 
end 
संबंधित मुद्दे