모든 n-1
반환 값에 대해 더미 변수를 만들 필요없이 함수에서 'n 번째'반환 값을 가져올 수 있습니까?
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;
나는 여전히 이것이 매우 추악한 코드라고 생각하지만 더 좋은 방법이 없다면 대답을 받아 들일 것입니다.