mustBeNonempty

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

Синтаксис

Описание

пример

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

mustBeNonempty вызывает следующую функцию, чтобы определить, непуст ли вход:

Поддержка класса: Весь MATLAB® классы

Примеры

свернуть все

Используйте 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
 mbNonempty('')
            ↑
Invalid input argument at position 1. Value must not be empty.

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

свернуть все

Значение, чтобы подтвердить в виде скаляра или массива любого типа MATLAB или класса

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

Советы

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

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

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

Введенный в R2017a