Ist es möglich, den 'n-ten' Rückgabewert von einer Funktion abzurufen, ohne vorher Dummy-Variablen für alle n-1
Rückgabewerte erstellen zu müssen ?
Angenommen, ich habe die folgende Funktion in MATLAB:
function [a,b,c,d] = func()
a = 1;
b = 2;
c = 3;
d = 4;
Angenommen, ich interessiere mich nur für den dritten Rückgabewert. Dies kann durch Erstellen einer Dummy-Variablen erreicht werden:
[dummy, dummy, variableThatIWillUse, dummy] = func;
clear dummy;
Aber ich finde das irgendwie hässlich . Ich würde denken, dass Sie in der Lage sein könnten, so etwas wie eines der folgenden Dinge zu tun, aber Sie können nicht:
[_, _, variableThatIWillUse, _] = func;
[, , variableThatIWillUse, ] = func;
variableThatIWillUse = func(3);
variableThatIWillUse = func()(3);
Gibt es elegante Möglichkeiten, dies zu tun, die funktionieren?
Bisher besteht die beste Lösung darin, die variableThatIWillUse
Variable einfach als Dummy-Variable zu verwenden. Dies erspart mir die Erstellung einer echten Dummy-Variablen, die den Arbeitsbereich verschmutzt (oder die ich löschen müsste). Kurz gesagt: Die Lösung besteht darin, den variableThatIWillUse
Wert für jeden Rückgabewert bis zum interessanten zu verwenden. Rückgabewerte nach können einfach ignoriert werden:
[variableThatIWillUse, variableThatIWillUse, variableThatIWillUse] = func;
Ich denke immer noch, dass dies ein sehr hässlicher Code ist, aber wenn es keinen besseren Weg gibt, werde ich die Antwort wahrscheinlich akzeptieren.