find

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

Синтаксис

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'

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

'-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