CA Process Automation es compatible con la propiedad de longitud de JavaScript para matrices y su propia propiedad de tamaño para acceder a la longitud de un campo indexado. La propiedad de longitud es de solo lectura, mientras que la propiedad de tamaño permite cambiar el número de elementos de un campo indexado. La propiedad de longitud utiliza la notación de puntos o de corchetes para devolver el número de elementos de un campo indexado:
dataset_reference.indexed_field_name.length
dataset_reference[indexed_field_name_expression].length
La propiedad de tamaño funciona de la misma forma, utilizando notación de punto o de paréntesis:
dataset_reference.indexed_field_name.size
dataset_reference[indexed_field_name_expression].size
Debido a que un campo indexado es una matriz basada en cero, las propiedades de longitud y tamaño siempre devuelven una unidad más que el índice para el último elemento de un campo. Así, cuando la longitud o el tamaño devuelven n, un campo contiene 0, 1..., n-1 elementos indexados y el índice para el último elemento de la matriz es n-1.
Si se asigna un nuevo valor a la propiedad de tamaño se extiende o trunca el número de elementos en un campo indexado. Si se reduce el valor para la propiedad de tamaño, se eliminan elementos del extremo superior de un campo indexado y se suprimen los valores almacenados en los elementos suprimidos. El siguiente código utiliza la propiedad de tamaño para incrementar la longitud de una matriz X en un elemento y, posteriormente, asigna 25 al nuevo elemento:
Process.X.size = Process.X.size + 1; Process.X[Process.X.size - 1] = 25;
Para una matriz pluridimensional, la propiedad de tamaño o longitud devuelve el número de elementos en una dirección de matriz a la cual se anexa.
Por ejemplo, para una matriz bidimensional denominada matrix[a][b], la sintaxis siguiente devuelve el tamaño de la primera dimensión de la matriz, con los elementos que contienen 0...size1-1:
size1 = matrix.length
La siguiente sintaxis devuelve el tamaño de la segunda dimensión de la matriz, dado el primer elemento de dimensión 2, con b que contiene los elementos 0...size2-1 cuando a = 2 contiene elementos 0...size1-1:
size2 = matrix[2].length
En el siguiente ejemplo se gestionan elementos de un campo indexado pluridimensional enrollando todos los elementos en un campo indexado bidimensional (una matriz de matrices) en la variable del conjunto de datos del proceso llamada "matrix". El código asigna el valor para cada elemento a un campo indexado unidimensional en los valores denominados de la variable del conjunto de datos del proceso:
var i; j; k=0;
for (i=0; i < Process.matrix.length; i++)
{
for (j=0; j < Process.matrix[i].length; j++)
{
Process.values[k] = Process.matrix[i][j] k++
}
}
|
Copyright © 2013 CA.
Todos los derechos reservados.
|
|