다음: 변수 길이 반환 목록, 이전: 변수 길이 매개변수 목록, 상위 문서: 함수와 대본 [차례][찾아보기]
정식 매개변수 목록에서 이름 대신 허수아비 메꿈표를 사용하여도 됩니다. 메꿈표는 해당 자리의 매개변수 값을 무시하고, 아무 값도 저장하지 말 것을 보여줍니다.
function val = pick2nd (~, arg2) val = arg2; endfunction
nargin
의 값은 이 선언에 영향을 받지 않습니다.
반환 매개변수도 같은 구문으로 무시합니다. 예를 들어, sort 함수가 정렬한 값과 원래 입력 값 색인 벡터의 정렬 모습을 반환합니다. 두
번째 출력 무시는 간단합니다. 하나 이상의 출력을 요청하지 않으면 됩니다. 무시할 대상이 첫 번째 출력이고 실제 연산은 두 번째 출력이면, ~
메꿈표가 필요합니다.
x = [2, 3, 1]; [s, i] = sort (x) ⇒ s = 1 2 3 i = 3 1 2 [~, i] = sort (x) ⇒ i = 3 1 2
~
메꿈표를 사용할 때는, 공백 없이 반점으로만 출력 매개변수를 구분하여야 합니다. 그렇지 않으면, 해석기가 ~
를
논리 부정 연산자로 봅니다.
[~ i] = sort (x) parse error: invalid left hand side of assignment
출력을 무시함으로써 함수의 연산 개수를 줄이는 이점이 있습니다. isargout
함수로 출력 매개변수가 필요한지
확인하여야 합니다. 예시:
function [out1, out2] = long_function (x, y, z) if (isargout (1)) ## 긴 연산 … out1 = result; endif … endfunction
함수 안에서, 매개변수 k가 출력에서 변수에 할당되는지 여부를 논리값으로 반환합니다.
결과가 거짓이면, 매개변수를 물결표(~)라는 특별 출력 매개변수로 함수 호출 중에 무시합니다. 함수에서 isargout
를
불필요한 출력에 허비할 연산을 피하는데에 사용합니다.
k가 1:max (nargout)
의 범위를 벗어나면, 함수가 거짓을 반환합니다. k는
배열이어도 되며, 이 경우에는 함수가 원소 단위로 작동하고, 논리 배열을 반환합니다. 최상위에서 실행하면,
isargout
가 오류를 반환합니다.
다음: 변수 길이 반환 목록, 이전: 변수 길이 매개변수 목록, 상위 문서: 함수와 대본 [차례][찾아보기]