addRequired

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

Описание

пример

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