narginchk

Проверьте количество входных параметров

Синтаксис

Описание

пример

narginchk(minArgs,maxArgs) проверяет количество входных параметров в вызове функции выполняющегося в данного момента. narginchk выдает ошибку, если количество входов, заданное в вызове, меньше minArgs или больше maxArgs. Если количество входов между minArgs и maxArgs (включительно), затем narginchk ничего не делает.

Примеры

свернуть все

Проверьте, что вызывается функция с минимум двумя и максимум пятью входными параметрами.

В файле с именем checkInputs.m, создайте функцию, которая использует narginchk чтобы убедиться, что функция была вызвана с допустимым количеством входов. Сигнатура функции указывает, что checkInputs требует двух входных параметров и принимает до трех дополнительных необязательных аргументов.

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.

Вызовите функцию снова с пятью входными параметрами.

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

Вызовите функцию снова с шестью входными параметрами.

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

Совет

  • Чтобы убедиться, что у вас есть минимальное количество аргументов, но нет максимального количества, установите maxArgs на inf. Для примера: narginchk(5,inf) выдает ошибку, когда меньше пяти входов.

  • Чтобы убедиться, что у вас есть точное количество аргументов, задайте то же значение для minArgs и maxArgs. Для примера: narginchk(3,3) выдает ошибку, если у вас нет точно трёх входов.

    Если вы вызываете функцию с слишком небольшим количеством входов, идентификатор сообщения и сообщение:

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

    Когда подаются слишком много входы, идентификатор сообщения и сообщение:

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

  • Если minArgs 0 и maxArgs является nargin(fun), тогда вам не нужно использовать narginchk.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2011b