Matriz
La matriz es un tipo de datos nativo que puede utilizar para almacenar conjuntos de valores relacionados.
Una matriz de Netcool/Impact representa un conjunto de datos heterogéneo, lo que significa que puede almacenar elementos de cualquier combinación de tipos de datos, incluyendo otras matrices y contextos. Los datos de una matriz se almacenan como elementos sin nombre, en lugar de variables de miembro.
En IPL se asignan valores a las matrices mediante la notación de llaves de cierre. Esta notación requiere que coloque una lista separada por comas entre llaves. Los valores se pueden especificar como literales o como variables cuyos valores ha definido anteriormente en la política:
nombre_matriz =
{elemento1, elemento2, elementon}0.En JavaScript, utilice corchetes como notación para asignar valores de matriz en forma de series de literales numéricos, de tipo carácter o booleanos separados por comas:
nombre_matriz =
[elemento1, elemento2, elementon]Puede acceder al valor de las matrices mediante la notación con corchetes. Esta notación requiere que especifique el nombre de la matriz seguido por el número de índice del elemento colocado entre corchetes. Utilice la sintaxis siguiente para acceder a los elementos de una matriz unidimensional y de una matriz multidimensional:
nombre_matriz[índice de elementos]nombre_matriz[índice de elementos de primera
dimensión][índice de elementos de segunda
dimensión]Ejemplos
Esto es un ejemplo de una matriz unidimensional en IPL:
MyArray = {"Hello, World!", 12345};
Log(MyArray[0] + ", " + MyArray[1]);Esto es un ejemplo de una matriz unidimensional en JavaScript:
MyArray = ["Hello, World!", 12345];
Log(MyArray[0] + ", " + MyArray[1]);Este ejemplo imprime el texto siguiente en el registro de políticas:
Hello.World!, 12345Esto es un ejemplo de una matriz bidimensional en IPL:
MyArray = {{"Hello, World!", 12345}, {"xyz", 78, 7, "etc"}};
Log(MyArray[0][0] + "." + MyArray[1][0]);Esto es un ejemplo de una matriz bidimensional en JavaScript:
MyArray = [["Hello, World!", 12345], ["xyz", 78, 7, "etc"]];
Log(MyArray[0][0] + "." + MyArray[1][0]);Este ejemplo imprime el texto siguiente en el registro de políticas:
Hello,World!.xyzEsta política de ejemplo de IPL utiliza la misma matriz bidimensional e imprime la etiqueta y el valor de un elemento en el registro de analizador:
MyArray = {{"Hello, World!", 12345}, {"xyz", 78, 7, "etc"}};
log("MyArray is " + MyArray);
log("MyArray Length is " + length(MyArray));
ArrayA = MyArray[0];
log("ArrayA is " + ArrayA + " Length is " + length(ArrayA));
i = 0;
While(i < length(ArrayA)) {
log("ArrayA["+i+"] = " + ArrayA[i]);
i = i + 1;
}
ArrayB = MyArray[1];
log("ArrayB is " + ArrayB + " Length is " + length(ArrayB));
i = 0;
While(i < length(ArrayB)) {
log("ArrayB["+i+"] = " + ArrayB[i]);
i = i + 1;
}Esta política de ejemplo de JavaScript utiliza la misma matriz bidimensional e imprime la etiqueta y el valor de un elemento en el registro de analizador:
MyArray is [["Hello, World!", 12345], ["xyz", 78, 7, "etc"]]
MyArray Length is 2
ArrayA is ["Hello, World!", 12345] Length is 2
ArrayA[0] = Hello, World!
ArrayA[1] = 12345
ArrayB is ["xyz", 78, 7, "etc"] Length is 4
ArrayB[0] = xyz
ArrayB[1] = 78
ArrayB[2] = 7
ArrayB[3] = etcEsto es la salida en el registro de analizador:
ArrayA[0] = Hello World!
ArrayA[1] = 12345En la política siguiente, se asigna un conjunto de valores a las matrices y a continuación se imprimen los valores de sus elementos en el registro de política.
Array1 = {"One", "Two", "Three", "Four",
"Five"};
Array2 = {1, 2, 3, 4, 5};
Array3 = {"One", 2, "Three", 4, "Five"};
String1 = "One";
String2 = "Two";
Array4 = {String1, String2};
Log(Array1[0]);
Log(Array2[2]);
Log(Array3[3]);
Log(Array4[1]);
Log(CurrentContext());Aquí se asignan conjuntos de valores a cuatro matrices distintas. En las primeras tres matrices se asignan diversos literales de series y enteros. En la cuarta matriz se asignan variables como los elementos de matriz.
Al ejecutar la política se imprime el siguiente mensaje en el registro de política:
One
3
4
Two
"Preparado con parámetros proporcionados por el usuario: "=(
String2=Two (String),
ActionType=1 (Byte),
String1=One (String),
ReportsPolicyName=TestArrays1 (String),
EventContainer=(EventReaderName=DefaultEventReader) (EventContainer),
PolicyName=TestArrays1 (String),
ActionNodeName=TestArrays1 (String),
Array4={One (String), Two (String)},
Array3={One (String), 2 (Long), Three (String), 4 (Long), Five (String)},
Array2={1 (Long), 2 (Long), 3 (Long), 4 (Long), 5 (Long)},
Array1={One (String), Two (String), Three (String), Four (String), Five (String)})