Contexto

El contexto es un tipo de datos nativo que puede utilizar para almacenar conjuntos de datos.

Los contextos son como el tipo de datos struct en C/C++. Los contextos se pueden utilizar para almacenar elementos de combinaciones de tipos de datos, incluyendo otros contextos y matrices. Estos datos se almacenan en un conjunto de variables denominado variables de miembro que están "contenidas" en el contexto. Las variables de miembros pueden ser de cualquier tipo, incluidos otros contextos.

Se hace referencia a las variables de miembros utilizando la anotación por puntos. Este es también el modo en que se hace referencia a las variables de miembro en un struct en lenguajes como C y C++. En esta notación, debe especificar el nombre del contexto y el nombre de la variable de miembro separados por un punto (.). Utiliza esta notación al asignar valores a variables de miembros o al hacer referencia a las variables en otros lugares de una política.

Importante: Se proporciona un contexto incorporado, denominado contexto de política, que se crea automáticamente cuando se ejecuta la política. El contexto de política contiene todas las variables que se utilizan en la política, incluidas las variables incorporadas.

A diferencia de las matrices y de las variables escalares, debe crear explícitamente un contexto utilizando la función NewObject antes de poder utilizarlo en una política. No es necesario crear las variables de miembros en el contexto. Las variables de miembros se crean automáticamente la primera vez que les asigna su valor.

El siguiente ejemplo muestra cómo se crea un contexto nuevo y cómo se asignan y hace referencia a las variables de miembros:


MyContext = NewObject();
MyContext.A = "Hello, World!";
MyContext.B = 12345;
						
Log(MyContext.A + ", " + MyContext.B);

Este ejemplo anota el mensaje siguiente en el registro de políticas:


Hello, World!, 12345

En la política siguiente se muestra cómo crear un contexto denominado MyContext y asignar un conjunto de valores a sus variables de miembros.


MyContext
= NewObject();
					
MyContext.One = "One";
MyContext.Two = 2;
MyContext.Three = 3.0;
					
String1 = MyContext.One + ", " + MyContext.Two + ", " + MyContext.Three;
					
Log(String1);

Cuando se ejecuta esta política, escribe el mensaje siguiente en el registro de políticas:


One, 2, 3.0