Main Content

narginchk

입력 인수 개수에 대한 유효성 검사

설명

예제

narginchk(minArgs,maxArgs)는 현재 실행 중인 함수에 대한 호출의 입력 인수 개수를 검증합니다. narginchk는 호출에서 지정한 입력값 개수가 minArgs보다 적거나 maxArgs보다 많을 경우 오류를 발생시킵니다. 입력값 개수가 minArgs ~ maxArgs 범위 내(경계 포함)에 있으면 narginchk는 아무것도 하지 않습니다.

예제

모두 축소

함수가 입력 인수 개수에 대한 최솟값이 2, 최댓값이 5로 지정되어 호출되었는지 확인합니다.

checkInputs.m이라는 파일에서 narginchk를 사용하여 함수가 유효한 개수의 입력값과 함께 호출되었음을 확인하는 함수를 만듭니다. 함수 시그니처는 checkInputs에 입력 인수가 2개 필요하고 최대 3개의 선택적 추가 인수를 받아들임을 나타냅니다.

function checkInputs(A,B,varargin)
    minArgs=2;
    maxArgs=5;
    narginchk(minArgs,maxArgs)
    
    fprintf('Received 2 required and %d optional inputs\n', length(varargin))
end

하나의 입력 인수로 함수를 호출합니다.

checkInputs(13)
Error using checkInputs (line 4)
Not enough input arguments.

5개 입력 인수를 사용하여 함수를 다시 호출합니다.

checkInputs(13,7,42,1701,5)
Received 2 required and 3 optional inputs

6개 입력 인수를 사용하여 함수를 다시 호출합니다.

checkInputs(13,7,42,1701,5,88)
Error using checkInputs (line 4)
Too many input arguments.

입력 인수

모두 축소

받는 입력값의 최소 개수로, 스칼라로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

받는 입력값의 최대 개수로, 스칼라로 지정됩니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

  • 인수의 최소 개수는 확인하지만 최대 개수는 없는 경우, maxArgsinf로 설정하십시오. 예를 들어, narginchk(5,inf)는 입력값이 5개 미만일 때 오류를 발생시킵니다.

  • 정확한 개수의 인수가 있음을 확인하려면 minArgsmaxArgs에 대해 같은 값을 지정하십시오. 예를 들어, narginchk(3,3)은 정확히 3개의 입력값이 없을 경우 오류를 발생시킵니다.

    함수를 호출할 때 입력값이 너무 적은 경우, 메시지 ID와 메시지는 다음과 같습니다.

        identifier: 'MATLAB:narginchk:notEnoughInputs'
           message: 'Not enough input arguments.'
    

    반면 너무 많은 입력값을 제공할 경우, 메시지 ID와 메시지는 다음과 같습니다.

        identifier: 'MATLAB:narginchk:tooManyInputs'
           message: 'Too many input arguments.'
    

  • minArgs가 0이고 maxArgsnargin(fun)인 경우에는 narginchk를 사용할 필요가 없습니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2011b에 개발됨