addRequired

Добавьте требуемый, позиционный параметр во входную схему синтаксического анализатора

Синтаксис

addRequired(p,argName)
addRequired(p,argName,validationFcn)

Описание

пример

addRequired(p,argName) добавляет необходимый, позиционный входной параметр argName во входную схему p синтаксического анализатора.

пример

addRequired(p,argName,validationFcn) задает функцию валидации для входного параметра.

Примеры

свернуть все

Создайте объект 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.

Имя входного параметра, заданного как вектор символов или скаляр строки.

Пример: 'firstName'

Пример: 'address'

Типы данных: char | string

Функция, чтобы подтвердить аргумент, заданный как указатель на функцию.

Указатель на функцию должен быть сопоставлен с функцией, которая возвращает true или false, или проходит тест или выдает ошибку. Оба типа функций должны принять один входной параметр.

Пример: @(s)isstring(s)

Пример: @(x)isnumeric(x)&&isscalar(x)

Пример: @(n)validateattributes(n,{'numeric'},{'nonnegative'})

Типы данных: function_handle

Представленный в R2007a