validateFunctionSignaturesJSON

Подтвердите functionSignatures.json файлы

Описание

пример

validateFunctionSignaturesJSON валидация отображений обменивается сообщениями для functionSignatures.json файл в текущей папке. Сообщения валидации указывают на местоположение любого недопустимого кода и причины, код недопустим. Номер строки в сообщении является гиперссылкой, по которой можно кликнуть, чтобы перейти непосредственно к той линии в Редакторе.

Синтаксические ошибки JSON в functionSignatures.json валидация удара файла файла. Если validateFunctionSignaturesJSON отчеты синтаксические ошибки JSON, откорректируйте эти ошибки и затем подтвердите файл.

Для получения информации о создании functionSignatures.json файл, смотрите, Настраивают Предложения Кода и Завершения.

validateFunctionSignaturesJSON(filenames) подтверждает functionSignatures.json файлы в filenames. Используйте этот синтаксис, чтобы подтвердить функциональные файлы подписи в нескольких папках.

T = validateFunctionSignaturesJSON(___) возвращает таблицу результатов. Можно использовать этот синтаксис с любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте myFunc функционируйте в своей текущей рабочей папке.

function myFunc(reqA,reqB,varargin)
    NV1 = true;
    NV2 = 'Default';
    posA = [];
    
    if nargin > 3
        if rem(nargin,2)
            posA = varargin{1};
            V = varargin(2:end);
        else
            V = varargin;
        end
        for n = 1:2:size(V,2)
            switch V{n}
                case 'Name1'
                    NV1 = V{n+1};
                case 'Name2'
                    NV2 = V{n+1}
                otherwise
                    error('Error.')
            end
        end
    end
end

Создайте следующий функциональный файл подписи как functionSignatures.json, в вашей текущей рабочей папке. Это содержит три проблемы валидации.

  1. Свойство (атрибут) является неправильным в первом объекте аргумента. Свойством должен быть "name" вместо "argument".

  2. Объект аргумента для in3 находится в неправильном порядке. Необходимо задать позиционные параметры перед парами "имя-значение".

  3. После последнего объекта аргумента существует ненужная запятая. Запятая в этом положении является синтаксической ошибкой JSON.

{
  "_schemaVersion": "1.0.0",
  "myFunc":
  {
     "inputs":
     [
        {"argument":"input1",  "kind":"required", "type":["numeric"], "purpose":"ID of item"},
        {"name":"input2",  "kind":"positional", "type":["numeric"], "purpose":"# Items"},
        {"name":"Name1", "kind":"namevalue", "type":["logical","scalar"],"purpose":"Option"},
        {"name":"in3",  "kind":"positional", "type":["numeric"], "purpose":"Input Value"},
        {"name":"Name2", "kind":"namevalue", "type":["char", "choices={'Default','Choice1','Choice2'}"]},
     ]
  }
}

Подтвердите functionSignatures.json файл. Функция валидации не сообщает о первых двух выпусках валидации, потому что она сталкивается с синтаксической ошибкой JSON.

validateFunctionSignaturesJSON
functionSignatures.json
=======================
L 12 (C 6-7): JSON syntax error at line 12, column 6 (character 551): expected value but found ']'.

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

validateFunctionSignaturesJSON
functionSignatures.json
=======================
L 7 (C 10-19): Invalid attribute "argument".
L 10 (C 32-43): "positional" argument must appear before all "namevalue" and "flag" arguments.

Откорректируйте остающиеся проблемы.

{
  "_schemaVersion": "1.0.0",
  "myFunc":
  {
     "inputs":
     [
        {"name":"input1",  "kind":"required", "type":["numeric"], "purpose":"ID of item"},
        {"name":"input2",  "kind":"positional", "type":["numeric"], "purpose":"# Items"},
        {"name":"in3",  "kind":"positional", "type":["numeric"], "purpose":"Input Value"},
        {"name":"Name1", "kind":"namevalue", "type":["logical","scalar"],"purpose":"Option"},
        {"name":"Name2", "kind":"namevalue", "type":["char", "choices={'Default','Choice1','Choice2'}"]}
     ]
  }
}

Подтвердите functionSignatures.json файл.

validateFunctionSignaturesJSON
validateFunctionSignaturesJSON completed without producing any messages.

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

свернуть все

Абсолютный или относительный путь к functionSignatures.json файлы в виде вектора символов, массива ячеек из символьных векторов или массива строк.

Пример: ["ProjectA/functionSignatures.json" "ProjectB/functionSignatures.json"]

Пример: 'myFolder/functionSignatures.json'

Введенный в R2018b