validateFunctionSignaturesJSON

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

Синтаксис

validateFunctionSignaturesJSON
validateFunctionSignaturesJSON(filenames)
T = validateFunctionSignaturesJSON(___)

Описание

пример

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, заданным как вектор символа, массив ячеек из символьных векторов или массив строк.

Пример: ["Проджектэ/фанкшнсигнэтурес.джсон" "Проджектб/фанкшнсигнэтурес.джсон"]

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

Представленный в R2018b

Была ли эта тема полезной?