mustBeMember

Подтвердите то значение, член заданного набора

Синтаксис

mustBeMember(A,B)

Описание

пример

mustBeMember(A,B) выдает ошибку, если A не является членом множества значений, заданного B. Множество значений, заданное A, должно быть чувствительным к регистру, точным совпадением. mustBeMember не возвращает значение.

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

Эта функция принимает пользовательские объекты, если класс объекта реализует следующий метод:

Примеры

свернуть все

Используйте mustBeMember, чтобы подтвердить это, первый вход является членом множества значений, заданного вторым входом.

Подтвердите это вектор символов, 'red' является членом набора векторов символов, 'yellow', 'green' и 'blue'.

A = 'red';
B = {'yellow','green','blue'};
mustBeMember(A,B)
Error using mustBeMember (line 14)
Value must be a member of this set
    'yellow'
    'green'
    'blue'

Валидация перестала работать, потому что 'red' не является членом набора. MATLAB® возвращает сообщение об ошибке, перечисляющее позволенные значения.

Ограничьте значения свойств к определенному множеству значений.

Этот класс ограничивает значение Prop1 быть или 'yellow', 'green' или 'blue'.

classdef MyClass
   properties
      Prop1 {mustBeMember(Prop1,{'yellow','green','blue'})} = 'yellow'
   end
end

Значение свойства по умолчанию должно выполнить ограничения, введенные блоком проверки допустимости. Поэтому необходимо явным образом присвоить значение по умолчанию, которое является членом набора.

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

obj = MyClass
obj.Prop1 = 'red';
Error setting 'Prop1' property of 'MyClass' class:
Value must be a member of this set
    'yellow'
    'green'
    'blue'

Валидация перестала работать, потому что 'red' не является членом набора. MATLAB возвращает сообщение об ошибке, перечисляющее позволенные значения.

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

свернуть все

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

  • logical, string, char или любой числовой класс

  • Логический массив, массив строк, cellstr или числовой массив

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

При использовании mustBeMember как блок проверки допустимости свойства этот аргумент должен быть именем свойства, заданным без кавычек.

Пример: PropName {mustBeMember(PropName,{'High','Medium','Low'})} = 'Low'

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
Поддержка комплексного числа: Да

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

  • logical, string, char или любой числовой класс

  • Логический массив, массив строк, cellstr или числовой массив

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

Пример: Свойство с массивом ячеек векторов char: PropName {mustBeMember(PropName,{'yellow','green','blue'})} = 'blue'

Пример: Свойство с массивом строк: PropName {mustBeMember(PropName,["yellow","green","blue"])} = "blue"

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
Поддержка комплексного числа: Да

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

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

Введенный в R2017a