क्या n-1
इससे पहले सभी रिटर्न वैल्यू के लिए डमी वैरिएबल बनाए बिना किसी फ़ंक्शन से 'एनटीएच' रिटर्न वैल्यू प्राप्त करना संभव है?
मान लीजिए, मेरे पास MATLAB में निम्नलिखित कार्य हैं:
function [a,b,c,d] = func()
a = 1;
b = 2;
c = 3;
d = 4;
अब मान लीजिए, मुझे केवल तीसरे रिटर्न मान में दिलचस्पी है । यह एक डमी चर बनाकर पूरा किया जा सकता है:
[dummy, dummy, variableThatIWillUse, dummy] = func;
clear dummy;
लेकिन मुझे लगता है कि यह बदसूरत है । मुझे लगता है कि आप निम्नलिखित चीजों में से एक की तरह कुछ करने में सक्षम हो सकते हैं, लेकिन आप नहीं कर सकते:
[_, _, variableThatIWillUse, _] = func;
[, , variableThatIWillUse, ] = func;
variableThatIWillUse = func(3);
variableThatIWillUse = func()(3);
क्या ऐसा करने के लिए कोई सुरुचिपूर्ण तरीके हैं जो काम करते हैं?
अब तक, सबसे अच्छा समाधान केवल variableThatIWillUse
डमी चर के रूप में उपयोग करना है । यह मुझे एक वास्तविक डमी वैरिएबल बनाने से बचाता है जो कार्य-स्थान को प्रदूषित करता है (या जिसे मुझे स्पष्ट करने की आवश्यकता होगी)। संक्षेप में: समाधान variableThatIWillUse
प्रत्येक वापसी मूल्य के लिए दिलचस्प एक होने तक उपयोग करना है । मूल्यों को अनदेखा करने के बाद वापस किया जा सकता है:
[variableThatIWillUse, variableThatIWillUse, variableThatIWillUse] = func;
मुझे अभी भी लगता है कि यह बहुत बदसूरत कोड है, लेकिन अगर कोई बेहतर तरीका नहीं है, तो मुझे लगता है कि मैं जवाब स्वीकार कर लूंगा।