2011-10-17 13 views
6

मेरे पास getFeatures.m नामक एक फ़ंक्शन फ़ाइल है जो इस तरह दिखती है:वैश्विक स्तर पर एक ही कक्षा आयात करें

function [features] getFeatures() 
    % Import the XPath classes 
    import javax.xml.xpath.* 
    % other code 
end 
function [name] = getName() 
    % Import the XPath classes 
    import javax.xml.xpath.* 
    % other code 
end 

जैसा कि आप देख सकते हैं, दोनों फ़ंक्शन xpath लाइब्रेरी आयात करते हैं, क्योंकि मेरे पास बहुत सारे फ़ंक्शन हैं जिन्हें उस वर्ग को आयात करने की आवश्यकता है, मैं इसे कैसे कर सकता हूं पहर?

+2

आप आयातों से आयात क्यों नहीं करते? – cyborg

उत्तर

2

मैंने एक ही समस्या पर ठोकर खाई है। इसके लिए मेरा व्यक्तिगत (और बदसूरत!) कामकाज एक विधि को परिभाषित कर रहा है जो आयात करता है; आपको अभी भी उस फ़ंक्शन को कॉल करना होगा, लेकिन कम से कम यह स्ट्रिंग के बावजूद, एक ही स्थान पर आयात को समूहित करता है।

function cmd = initJava() 
    cmd = 'import package.*'; 
    if nargout == 0 
     warning('off','MATLAB:Java:DuplicateClass'); 
     evalin('caller',cmd); 
     warning('on','MATLAB:Java:DuplicateClass'); 
    end; 
end 

यह या तो initJava() या eval(initJava()) के रूप में कहा जा सकता है। अगर मुझे सही याद है तो पहला ऐसा हमेशा नहीं करता है जो इसे करना है, लेकिन आपको इसे स्वयं परीक्षण करना होगा।

अगर किसी के पास बेहतर/अच्छा/अन्य समाधान है, तो मुझे यह सुनकर बहुत दिलचस्पी है।

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