2014-05-17 13 views
11

में लौटा हुआ टुपल के कुछ सदस्यों को अनदेखा करें जूलिया एकाधिक रिटर्न का समर्थन नहीं करता है, प्रति से। हालांकि, जूलिया मूल्यों की एक झुकाव लौटकर समान कार्यक्षमता करता है, जिसे चर के एक tuple को सौंपा जा सकता है। उदाहरण के लिए:जूलिया

function mult_return() 
    (3,2) 
end 

ट्यूपल (3,2) लौटाता है। हम तो इस प्रकार विभिन्न चर के इन दो वापसी मान निर्दिष्ट कर सकते हैं: (। या a,b = mult_return() क्योंकि कोष्ठक आवश्यक नहीं हैं)

(a,b) = mult_return()

मेरा प्रश्न यह है: वहाँ से एक की अनदेखी करने का कोई तरीका है मूल्य वापस? उदाहरण के लिए, मैटलैब वाक्य रचना में, एक उपयोगकर्ता लिख ​​सकते हैं:

[~, b] = mult_return() 

ताकि केवल दूसरा मूल्य एक चर करने के लिए आवंटित किया गया है।

जूलिया में इस समस्या से संपर्क करने का सही तरीका क्या है?

उत्तर

9

मुझे लगता है कि आप एक ही चीज कर सकते हैं जो अजगर में आम है, अर्थात् छोड़े गए मूल्यों के लिए अंडरस्कोर का उपयोग करें। उदाहरण:

a, _ = mult_return() 

यह बल्कि डमी चर _ बताए से कई बार के रूप में अच्छी

_, _ = mult_return() 
+4

ध्यान दें कि '_' का उपयोग करके मैटलैब में' ~ 'जैसा परिणाम छोड़ना नहीं है। यह सिर्फ एक चर के लिए बाध्यकारी है जिसे आमतौर पर सम्मेलन द्वारा अनदेखा किया जाता है। –

+1

@MattB।, आपको सही लगता है। जूलिया में यह वास्तव में असाइनमेंट को छोड़ नहीं देता है; वास्तव में, यह '_' नामक एक चर परिभाषित करता है जिसे बाद में उपयोग किया जा सकता है। लेकिन, अगर यह एक आम सम्मेलन है, तो मुझे इसके साथ जाने में खुशी होगी। – Glenn

2

काम करता है, तो आप सिर्फ आदेश दूसरा वापसी मान की अनदेखी करने में

a, = mult_return() 

कर सकते हैं, और इसी तरह बड़े tuples के लिए।

+3

हालांकि, कम से कम मेरे परीक्षण से, यह केवल बाद में वापसी मूल्यों को अनदेखा करने देता है; आप उदाहरण के लिए ', a = mult_return()' नहीं कर सका। – Glenn