mustBeNonempty

Подтвердите, что значение, непусто, или выдайте ошибку

Синтаксис

Описание

пример

mustBeNonempty(value) выдает ошибку если value isempty. Эта функция не возвращает значение.

mustBeNonempty принимает пользовательские объекты, если класс объекта реализует этот метод:

Примеры

свернуть все

Используйте mustBeNonempty чтобы подтвердить это, вход не пуст.

Создайте containers.Map.

A = containers.Map;

Подтвердите тот A не пустое значение.

mustBeNonempty(A)
Error using mustBeNonempty (line 13)
Values must not be empty.

Создание containers.Map без входных параметров приводит к пустому объекту.

Этот класс ограничивает значение Prop1 к непустым значениям. Значение по умолчанию должно также быть непустым.

classdef MyClass
   properties
      Prop1 {mustBeNonempty} = containers.Map(1,'First')
   end
end

Создайте объект и присвойте значение его свойству.

obj = MyClass;
obj.Prop1 = containers.Map;
Error setting 'Prop1' property of 'MyClass' class:
Values must not be empty.

Когда вы присваиваете значение свойству, MATLAB® вызывает mustBeNonempty со значением, присваиваемым свойству. mustBeNonempty выдает ошибку, потому что значение присвоило Prop1 isempty.

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

function str = mbNonempty(name)
    arguments
        name (1,:) char  {mustBeNonempty}
    end
    str = sprintf('Name: %s',name);
end

Вызывание этой функции с пустым символьным вектором приводит к ошибке, будучи выданным mustBeNonempty.

mbNonempty('')
Error using mbNonempty
Invalid input argument at position 1. Value must not be empty.

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

свернуть все

Значение, чтобы подтвердить, заданный как скаляр или массив любого из следующего:

  • Любой тип данных MATLAB

  • Классы MATLAB та реализация isempty.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | struct | table | cell | function_handle | categorical | datetime | duration | calendarDuration
Поддержка комплексного числа: Да

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

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

Введенный в R2017a