Возможно ли получить 'nth' возвращаемое значение из функции, не создавая фиктивные переменные для всех 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;
Я все еще думаю, что это очень уродливый код, но если нет лучшего способа, то, я думаю, я приму ответ.