É possível obter o 'nésimo' valor de retorno de uma função sem precisar criar variáveis fictícias para todos os n-1
valores de retorno anteriores a ela?
Digamos, eu tenho a seguinte função no MATLAB:
function [a,b,c,d] = func()
a = 1;
b = 2;
c = 3;
d = 4;
Agora, suponha, eu estou interessado apenas no terceiro valor de retorno. Isso pode ser conseguido criando uma variável dummy:
[dummy, dummy, variableThatIWillUse, dummy] = func;
clear dummy;
Mas acho que isso é meio feio . Eu acho que você pode fazer algo como uma das seguintes coisas, mas não pode:
[_, _, variableThatIWillUse, _] = func;
[, , variableThatIWillUse, ] = func;
variableThatIWillUse = func(3);
variableThatIWillUse = func()(3);
Existem maneiras elegantes de fazer isso funcionar?
Até agora, a melhor solução é simplesmente usar a variableThatIWillUse
variável como dummy. Isso me impede de ter que criar uma variável fictícia real que polui o espaço de trabalho (ou que eu precisaria limpar). Resumindo: a solução é usar o variableThatIWillUse
valor de cada retorno até o interessante. Os valores de retorno depois podem simplesmente ser ignorados:
[variableThatIWillUse, variableThatIWillUse, variableThatIWillUse] = func;
Ainda acho que esse é um código muito feio, mas se não houver uma maneira melhor, acho que vou aceitar a resposta.