2010-02-08 6 views
11

यह देखना मुश्किल है: Matlab में अंतराल के अल्पविराम क्या करते हैं? मैंने किए गए छोटे परीक्षणों में, वे कोड को अलग-अलग व्यवहार करने के लिए प्रतीत नहीं करते हैं। मैं जानना चाहता हूं क्योंकि वे इस कोड में पूरी तरह से हैं जो मैंने नहीं लिखा (लेकिन बनाए रखना है)।Matlab में अंतराल के अल्पविराम क्या करते हैं?

मैं क्या मतलब है के उदाहरण:

if nargin<1, 
    % code 
end 

if isError, 
    % code 
end 

try, 
    % code 
    while 1, 
     % even more code 
    end 
catch, 
    % code 
end 

उत्तर

15

documentation for the comma character in MATLAB के अनुसार, अपने कार्यों में से एक एक लाइन के भीतर बयान अलग करना है। यदि लाइन पर केवल एक ही कथन है, तो अल्पविराम की आवश्यकता नहीं है। मैं इसे वहां देखना पसंद नहीं करता, हालांकि मुझे पता है कि कुछ लोग इस तरह कोड लिखते हैं।

1

मुझे लगता है कि matlab में अल्पविराम सी में अर्धविराम यह आदेशों को अलग करती है की तरह है, तो आप एक पंक्ति अल्पविराम के द्वारा अलग में कई आदेशों डाल सकते हैं।

आपका प्रोग्राम लिखे जाने का तरीका, मुझे विश्वास है कि अल्पविराम कोई फर्क नहीं पड़ता।

4

यदि आप कसकर कोडित एम-फाइलें पढ़ते हैं (उदाहरण के लिए, अंतर्निहित MATLAB फ़ंक्शंस में से कई) तो आप एक पंक्ति पर लिखे गए ... अंत निर्माण का एक प्रकार खोजेंगे। यहां एक उदाहरण
है यदि x < 0, disp ('काल्पनिक'); अंत
एक्स < 0 और disp (...) के बीच अल्पविराम पर ध्यान दें। जाहिर है कि अल्पविराम MATLAB व्याख्याकर्ता को बताता है कि सशर्त परीक्षण समाप्त हो गया है। मेरे ज्ञान के लिए यह केवल एक जगह है जहां एक कथन (ठीक है, एक बयान का हिस्सा) अल्पविराम के साथ समाप्त होता है। यह केवल उन quirks में से एक है कि सच्चे विश्वासियों बिना किसी हिचकिचाहट के उपयोग करने के लिए आते हैं।

http://web.cecs.pdx.edu/~gerry/MATLAB/programming/basics.html

+0

लेकिन वहाँ है कि अगर एक लाइन ब्रेक, यह सही बस ज़रूरत से ज़्यादा है,? –

+0

@ बेंजामिन हां। @ अल्बर्ट आप कभी-कभी एक ही पंक्ति पर 'कोशिश करें, पकड़ें' और 'के लिए, अंत' देखें। – KitsuneYMG

8

जैसा कि अन्य ने बताया है, लाइन के अंत में कॉमा अनावश्यक हैं। वे वास्तव में केवल उसी पंक्ति पर बयान को अलग करने के लिए हैं। mlint और संपादक भले ही आप इसे जरूरत के बिना एक का उपयोग करें तो आपको एक चेतावनी दे देंगे:

enter image description here

>> mlint comma_test.m 
L 1 (C 4): Extra comma is unnecessary. 
+2

हाहा, मुझे लगता है कि मैटलैब कोड को संपादित करने के लिए आपको 'vim' का उपयोग करने के लिए क्या मिलता है ... मेरे पास MLINT का उपयोग करने के लिए कुछ था। शायद इसे अभी आज़माएं। –

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