Main Content

addRequired

입력값 구문 분석기 체계에 필수 위치 인수 추가

설명

예제

addRequired(p,argName)은 필수 위치 입력 인수 argName을 입력값 구문 분석기 체계 p에 추가합니다.

예제

addRequired(p,argName,validationFcn)은 입력 인수에 대한 유효성 검사(Validation) 함수를 지정합니다.

예제

모두 축소

inputParser 객체를 만들고 myinput이라는 필수 입력값을 입력 체계에 추가합니다.

p = inputParser;
argName = 'myinput';
addRequired(p,argName)

parse 함수에 입력값 7을 사용하여 호출하고 결과를 표시합니다.

parse(p,7)
p.Results
ans = struct with fields:
    myinput: 7

필수 입력값이 음수가 아닌 숫자형 스칼라인지 확인하는 입력값 구문 분석기 체계를 만듭니다. 구문 @(x)는 입력값이 하나인 익명 함수의 핸들을 만듭니다.

p = inputParser;
argName = 'num';
validationFcn = @(x) (x > 0) && isnumeric(x) && isscalar(x);
addRequired(p,argName,validationFcn)

-1과 같이 유효하지 않은 입력값에 대해 구문 분석합니다.

parse(p,-1)
The value of 'num' is invalid. It must satisfy the function: @(x)(x>0)&&isnumeric(x)&&isscalar(x).

inputParser 객체를 만들고 validateattributes를 사용하여 유효성 검사 함수를 정의합니다. 유효성 검사 함수는 필수 입력값이 양의 숫자형 짝수인지 테스트합니다.

p = inputParser;
argName = 'evenPosNum';
validationFcn = @(x) validateattributes(x,{'numeric'},...
    {'even','positive'}); 
addRequired(p,argName,validationFcn)

입력 문자형 벡터를 구문 분석합니다. 입력값이 유효하지 않아서 구문 분석에 실패합니다.

parse(p,'hello')
The value of 'evenPosNum' is invalid. Expected input to be one of these types:

double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64

Instead its type was char.

홀수를 구문 분석합니다. 입력값이 유효하지 않아서 구문 분석에 실패합니다.

 parse(p,13)
The value of 'evenPosNum' is invalid. Expected input to be even.

양의 짝수를 구문 분석합니다. 구문 분석을 통과합니다.

parse(p,42)

입력 인수

모두 축소

입력값 구문 분석기 체계로, inputParser 객체로 지정됩니다.

입력 인수의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'firstName'

예: 'address'

데이터형: char | string

인수의 유효성을 검사하는 함수로, 함수 핸들로 지정됩니다.

함수 핸들은 true 또는 false를 반환하거나 테스트를 통과하거나 오류를 발생시키는 함수와 연결되어야 합니다. 두 가지 함수 모두 단일 입력 인수를 받아야 합니다.

예: @(s)isstring(s)

예: @(x)isnumeric(x)&&isscalar(x)

예: @(n)validateattributes(n,{'numeric'},{'nonnegative'})

데이터형: function_handle

버전 내역

R2007a에 개발됨