exponenta event banner

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++ с помощью MATLAB ® Coder™

.
Представлен в R2011b