exponenta event banner

nargchk

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

nargchk не рекомендуется. Использование narginchk вместо этого.

Описание

пример

msgText = nargchk(minArgs,maxArgs,numArgs) проверяет количество входных параметров и возвращает сообщение если количество входных параметров, numArgs, меньше, чем minArgs или больше, чем maxArgs.

Этот синтаксис совпадает с msgText = nargchk(minArgs,maxArgs,numArgs,'string').

пример

msgStruct = nargchk(minArgs,maxArgs,numArgs,'struct') возвращает структуру сообщения вместо вектора символов.

Примеры

свернуть все

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

function checkInputs(varargin)
    msgTxt = nargchk(2,3,nargin)
end

Вызовите checkInputs функция с верным номером входных параметров. nargchk возвращает пустой символьный вектор.

checkInputs(13,7)
msgTxt =

     []

Вызовите checkInputs функция с очень небольшим числом входных параметров.

checkInputs(42)
msgTxt =

    'Not enough input arguments.'

Вызовите checkInputs функция со слишком многими входными параметрами.

checkInputs(0,1,1,2,3)
msgTxt =

    'Too many input arguments.'

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

function checkInputs(varargin)
    msgStruct = nargchk(2,3,nargin,'struct');
    error(msgStruct)
end

В командной строке вызовите checkInputs функция с принятым количеством входных параметров. nargchk не выдает ошибку.

checkInputs(13,7)

Вызовите checkInputs функция с очень небольшим числом входных параметров.

checkInputs(42)
Error using checkInputs (line 3)
Not enough input arguments.

Вызовите checkInputs функция со слишком многими входными параметрами.

checkInputs(0,1,1,2,3)
Error using checkInputs (line 3)
Too many input arguments.

Входные параметры

свернуть все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Текст сообщения, возвращенный как 'Not enough input arguments.', 'Too many input arguments.', или пустая матрица.

Если numArgs меньше minArgsто nargchk возвращает вектор символов 'Not enough input arguments.' Если numArgs больше maxArgsто nargchk возвращает вектор символов 'Too many input arguments.' В противном случае, nargchk возвращает пустую матрицу.

Сообщение и идентификатор, возвращенный как структура с message и identifier поля . Если numArgs меньше minArgsто nargchk возвращает эту структуру:

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

Если numArgs больше maxArgsто nargchk возвращает эту структуру:

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

В противном случае, nargchk возвращает пустую структуру.

Советы

  • nargchk часто используется с error функция. error функция принимает любой тип возвращаемого значения от nargchk: вектор символов сообщения или структура сообщения. Например, эта команда использует структуру выходного сигнала от nargchk как вход к error функция.

    error(nargchk(2,4,nargin,'struct'))

    Если количество входных параметров в ожидаемой области значений, то nargchk возвращает пустой символьный вектор или структуру. Когда error функция получает пустой символьный вектор или структуру, она не выдает ошибку.

Представлено до R2006a