आप शायद package का उपयोग करना चाहते हैं, जो कि एक पायथन मॉड्यूल की तरह है जिसमें यह एक फ़ोल्डर है जो एकाधिक फ़ाइलों को पकड़ सकता है। आप फ़ोल्डर नाम की शुरुआत में +
डालकर ऐसा करते हैं, जैसे +mypackage
। इसके बाद आप पाइथन के समान package.function
नोटेशन का उपयोग करके फ़ोल्डर में कार्यों और वर्गों तक पहुंच सकते हैं, बिना कार्यों के वैश्विक सूची को प्रदूषित किए बिना (केवल पैकेज को प्रत्येक सूची के बजाय वैश्विक सूची में जोड़ा जाता है)। आप व्यक्तिगत कार्यों या कक्षाओं को भी आयात कर सकते हैं। हालांकि, आपको हमेशा पूर्ण फ़ंक्शन पथ का उपयोग करना होगा, पाइथन में सापेक्ष पथ जैसी कोई चीज़ नहीं है।
हालांकि, यदि आप वास्तव में प्रति फ़ाइल एकाधिक फ़ंक्शन चाहते हैं, तो शायद आप सबसे अच्छा कर सकते हैं जो शीर्ष-स्तरीय फ़ंक्शन बनाता है जो फ़ाइल में अन्य कार्यों के लिए देता है, और उसके बाद फ़ंक्शन हैंडल एक्सेस करता है struct। चूंकि MATLAB को उन कार्यों के साथ ()
के उपयोग की आवश्यकता नहीं है, जिनके लिए किसी भी इनपुट की आवश्यकता नहीं है, यह एक पाइथन मॉड्यूल के समान ही व्यवहार करेगा (हालांकि मुझे नहीं पता कि यह प्रदर्शन को कैसे प्रभावित करेगा)।
मुझे पता है कि यह गर्दन में दर्द है। फ़ाइल कारणों की शुरुआत में +
डालकर, जैसे कि वे वर्तमान में फ़ोल्डर्स के लिए पैकेज जैसे पैकेजों के रूप में फ़ाइलों का उपयोग करने की अनुमति नहीं दे सकते हैं। लेकिन वे नहीं करते हैं।
वहाँ Matlab समारोह ब्राउज़र, जो दुर्भाग्य से केवल मैटलैब शेयर कार्यों से पता चलता है। इसमें कुछ अनियंत्रित मैटलैब सुविधाएं हो सकती हैं जो उपयोगकर्ता द्वारा प्रदान किए गए कार्यों के लिए फ़ंक्शन ब्राउज़र का उपयोग करना संभव कर सकती हैं। – JaBe
यहां एक [निकट से संबंधित प्रश्न] है (http://stackoverflow.com/q/3569933/52738)। आपको वहां कुछ सहायक विचार मिल सकते हैं। ऐसा लगता है जैसे आप जोनास के उत्तर (वस्तु-उन्मुख मार्ग) में कुछ चाहें। – gnovice