поиск

Возвратите заданные объекты

Синтаксис

objArray = thisObject.find(Specifier,Value, ...)

Описание

Используя комбинации пар аргумента значения спецификатора, метод find возвращает объекты в этом объекте, которые совпадают с заданными критериями. Пары значения спецификатора могут быть базирующимся свойством или на основе других атрибутов объекта, таких как его глубина включения. Спецификаторы могут также быть логическими операторами (-and, -or, и так далее), которые комбинируют другие пары значения спецификатора.

По умолчанию команда find находит объекты на всех глубинах включения в объекте. Можно задать максимальную глубину поиска при помощи спецификатора -depth. Однако нулевой уровень включения, то есть, сам искавший объект, всегда включается, если это удовлетворяет критерии поиска.

Если никакие аргументы не заданы, команда find возвращает все объекты этого объекта на всех уровнях включения.

Аргументы

thisObject

Объект, для которого можно найти содержащие в нем объекты. Может быть объект Корня типа, Машины, состояния, Поля, Функции или Таблицы истинности.

'-and'

Никакое значение не соединяется к этому спецификатору. Вместо этого этот спецификатор связывает предыдущую пару значения спецификатора со следующей парой значения спецификатора в отношении AND.

Примечание

Если никакой логический оператор не задан, -and принят.

'-class'

Имя класса, чтобы искать. Используйте эту опцию, чтобы найти все объекты, класс которых точно совпадает с данным классом. Чтобы позволить соответствия для подклассов данного класса, используйте спецификатор -isa. Классы заданы как имя (например, 'Stateflow.State', 'Stateflow.Transition', и т.д.) или как указатель на класс. Для получения дополнительной информации смотрите classhandle.

'-depth'

Целочисленная глубина, чтобы искать, который может быть 0, 1, 2..., бесконечен. Поисковая глубина по умолчанию бесконечна.

'-function'

Обработайте к функции, которая оценивает каждый объект, который посещают в поиске. Функция должна всегда возвращать логическое скалярное значение, которое указывает, является ли значение соответствием. Если никакое свойство не задано, функция передается указатель текущего объекта в поиске. Если свойство задано, функция передается значение того свойства.

В следующем примере функции с указателем f (заданный в первой строке) используется, чтобы возвратить только те объекты типа 'andState':

f = @(h) (strcmp(get(h,'type'), 'andState'));
objArray = thisObject.find('-function', f);

'-isa'

Имя типа объектов искать. Типы объектов заданы как имя (например, 'Stateflow.State', 'Stateflow.Transition', и т.д.) или как указатель на тип объекта. Для получения дополнительной информации смотрите classhandle.

'-method'

Имя метода, принадлежащего объектам искать.

'-not'

Никакое значение не соединяется к этому спецификатору. Вместо этого этот спецификатор ищет отрицание следующей пары значения спецификатора.

'-or'

Никакое значение не соединяется к этому спецификатору. Вместо этого этот спецификатор связывает предыдущую пару значения спецификатора со следующей парой значения спецификатора в отношении OR.

Свойство

Спецификатор берет имя свойства. Значение заданного свойства для объектов вы хотите найти.

'-property'

Имя свойства, которое принадлежит объектам, которые вы хотите найти.

'-xor'

Никакое значение не соединяется к этому спецификатору. Вместо этого этот спецификатор связывает предыдущую пару значения спецификатора со следующей парой значения спецификатора в отношении XOR.

'-regexp'

Никакое значение не следует за этим спецификатором. Вместо этого этот спецификатор указывает, что значение следующей пары значения спецификатора содержит регулярное выражение. Для получения дополнительной информации смотрите regexp.

Возвращается

objArray

Массив объектов, найденных, совпадая с критериями, задан.

Примеры

Если Объект диаграммы, c представляет график Stateflow®, чтобы произвести массив всех состояний в графике, использует эту команду:

states = c.find('-isa','Stateflow.State')
Чтобы произвести массив всех объектов, свойством Name которых является 'A', используйте эту команду:
objects = c.find('Name','A')
Чтобы произвести массив всех состояний, свойство Name которых начинает с буквы A, используйте эту команду:
states = c.find('-isa','Stateflow.State','-and','-regexp','Name','^A')

Смотрите также

|

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте