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