Basic concepts
Ámbito de los nombres
Ámbito de los nombres en FlexiLayout language: dónde se puede acceder a variables, constantes e hipótesis de elementos en las secciones Advanced y en el árbol de elementos.
Los nombres de elementos, constantes y variables solo pueden usarse en determinadas secciones de un programa. Esto se denomina el “ámbito” del nombre. El ámbito de una variable también determina su tiempo de vida.
El nombre de una variable declarada en la sección Expresión de Region, relaciones avanzadas de prebúsqueda o relaciones avanzadas de posbúsqueda es accesible dentro de esa sección, y solo después del punto en que se declara.
Un nombre declarado dentro de un bloque es accesible solo dentro de ese bloque y de los bloques contenidos en él, y solo después del punto en que se declara:
{
Int a; a = 5;
}
Se puede acceder a las hipótesis de los elementos a través de los nombres de los elementos. En las secciones relaciones avanzadas de prebúsqueda y relaciones avanzadas de posbúsqueda, puede acceder a las hipótesis de todos los elementos situados por encima del elemento actual en el árbol de FlexiLayout. En la sección relaciones avanzadas de posbúsqueda, también puede acceder a la hipótesis formulada para el propio elemento actual. En la sección Expresión de Region de la descripción de un bloque, puede acceder a las hipótesis de todos los elementos situados en la “mejor rama” del árbol de hipótesis.
El código de la sección relaciones avanzadas de prebúsqueda se ejecuta por separado para cada hipótesis, independientemente de las hipótesis situadas en otras ramas del árbol de hipótesis. Esto significa que, cuando el programa ejecuta el código de una sección concreta de la descripción de un elemento, solo puede acceder a una hipótesis por cada elemento superior, concretamente la hipótesis situada en la misma rama.
Se accede a las hipótesis de los elementos y a sus propiedades en modo de solo lectura.
A las hipótesis de un elemento superior se las llama mediante el nombre completo del elemento, por ejemplo: SearchObjects.Group1.Group2.FirstItem. Al acceder a un subelemento de un grupo desde otro subelemento, no es necesario especificar el nombre del grupo. Por ejemplo, en las secciones Advanced… del elemento SearchObjects.Group1.Group2.SecondItem, puede llamar al elemento SearchObjects.Group1.Group2.FirstItem de una de las siguientes maneras: SearchObjects.Group1.Group2.FirstItem, Group1.Group2.FirstItem, Group2.FirstItem, FirstItem.
El nombre abreviado siempre hará referencia al elemento más interno.
Supongamos que tenemos el siguiente árbol de elementos:
SearchElements
FirstItem
Group1
FirstItem
SecondItem
Si está en SearchElements.Group1.SecondItem y usa el nombre FirstItem, llamará al elemento SearchElements.Group1.FirstItem, y no al elemento SearchElements.FirstItem.
