Russian (Русский) - Change language

Имена элементов, констант и переменных

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

Имя переменной, объявленной в секции Region expression, Advanced pre-search relations или Advanced post-search relations, доступно лишь в данной секции данного объекта после собственно объявления переменной.

В любой секции можно использовать блоки, локально ограничивающие область видимости имен переменных. Переменная, объявленная внутри блока, доступна лишь внутри блока после объявления. Например:

{
Int a; a = 5;
}
   

Доступ к гипотезам элементов осуществляется через имена элементов. В любом разделе описания элемента (Advanced pre-search relations и Advanced post-search relations) доступны гипотезы всех элементов, находящихся в дереве элементов выше данного на этой же ветке дерева гипотез. Кроме того, в разделе Advanced post-search relations элемента можно обращаться к сформированной гипотезе самого этого элемента. В разделе Region expression описания блока доступны гипотезы всех элементов, находящиеся на лучшей ветке дерева гипотез.

Программный код раздела Advanced pre-search relations выполняется для каждой гипотезы данного элемента независимо от других гипотез данного элемента, находящихся на других ветках дерева гипотез. Таким образом, при выполнении программного кода некоторого раздела описания элемента доступна ровно одна гипотеза любого элемента, находящегося выше, а именно та, которая находится на той же ветке дерева гипотез.

Обращение к гипотезе элемента, а также всем ее свойствам, происходит в режиме read-only.

Обращение к гипотезам вышестоящих элементов происходит по полному имени элемента, например: SearchObjects.Group1.Group2.FirstItem. Кроме того, при обращении к одному подэлементу группы из другого допускается укороченное обращение, не содержащее имени группы.

Например, в Advanced-разделах элемента SearchObjects.Group1.Group2.SecondItem можно обратиться к элементу SearchObjects.Group1.Group2.FirstItem любым из перечисленных способов: SearchObjects.Group1.Group2.FirstItem, Group1.Group2.FirstItem, Group2.FirstItem, FirstItem.

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

Пусть, например, дерево элементов имеет следующий вид:

SearchElements
 FirstItem
 Group1
 FirstItem
 SecondItem
    

Тогда обращение из описания элемента SearchElements.Group1.SecondItem к имени FirstItem будет идентифицировать элемент SearchElements.Group1.FirstItem, а не SearchElements.FirstItem.

12/1/2020 7:04:05 AM


Please leave your feedback about this article