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