|
|
|
|
- Otros tipos de arrays
- Procedure: Declaración de un parámetro array
- Pasar una array como parámetro a una Procedure
- Funciones WLanguage y arrays
- Array de arrays, asociativo array, cola, pila, lista
- Limitaciones: Elementos de una array
- Matrices en las clases
- Agregar el contenido de una estructura a un array de estructuras sin utilizar una variable de la estructura
Un array es un tipo estructurado que permite agrupar una serie de elementos del mismo tipo. Puede acceder a cada elemento del array por su índice.
DayArray is array of strings = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
DayArray[2]
ValueArray is array of int
Add(ValueArray, 5)
Add(ValueArray, 10)
Add(ValueArray, 15)
FOR EACH x OF ValueArray
...
END
ValueArray is array <growth=1> of int
ValueArray[1] = 10
ValueArray[2] = 20
ValueArray[3] = 30
FOR EACH x OF ValueArray
END
ValueArray is array <growth=N> of int
ValueArray[1] = 10
ValueArray[5] = 50
FOR EACH x OF ValueArray
END
Sintaxis
Declaración de una array unidimensional (sintaxis 1)
<Array name> is array [<growth>] [ [<Dimension 1>] ] <Type of array elements>
Ejemplo:
arrString is array <growth=N> [10] strings
arrInt is array [5] ints
Declaración de una array unidimensional (sintaxis 2) Ocultar los detalles
<Array name> is array [<growth>] of [<Dimension>] <Type of array elements>
<Array name>: Nombre de la array Variable a declarar. <growth>: Modo opcional para ampliar el array:- ningún valor (predeterminado) o "<growth=0>": la array no se amplía automáticamente. Por ejemplo, se producirá un error de ejecución si array contiene 5 elementos y si el programa accede al elemento 6 o 100.
- "<growth>" o "<growth=1>": la array se amplía automáticamente en 1 elemento. Por ejemplo, si el array contiene 5 elementos y el programa accede al elemento 6, el array se amplía automáticamente a manipular el elemento 6 ; si el programa accede al elemento 100 se producirá un error de ejecución.
- "<ampliar=N>": la array se amplía automáticamente con el número de elementos necesarios. Por ejemplo, si el array contiene 5 elementos y si el programa accede al elemento 6, el array se amplía automáticamente a manipular el elemento 6 ; si el programa accede al elemento 100, el array se amplía automáticamente a manipular el elemento 100.. Los elementos intermedios se inicializan con el valor Default para este tipo de elementos array.
Observación: Para ampliar una array con varias dimensiones, utilice Dimensión. <Dimension>: Dimensión opcional de la array. Este parámetro puede:- ser indeterminado o corresponder a *o 0: la array se inicializa vacía.
- corresponden a un valor constante o a un entero Variable: la array se inicializa con el número especificado de elementos. Cada elemento se inicializa con el valor Default de su tipo.
<Type of array elements>: Tipo de los elementos del array. Consulte Los diferentes tipos de WLanguage.
Declaración de una array multidimensional (10 dimensiones como máximo) - Sintaxis 1
<Array name> is array of [ [<Dimension 1> [, <Dimension 2>]...[, <Dimension 10>]] ] <Type of array elements>
Ejemplo:
arrString is array [10,20] strings arrInt is array [3,5,2] ints
Declaración de una array multidimensional (10 dimensiones como máximo) - Sintaxis 2 Ocultar los detalles
<Array name> is array of [<Dimension 1> [by <Dimension 2>] ... [by <Dimension 10>]] <Type of array elements> OR <Array name> is array of [<Dimension 1> [, <Dimension 2>]... [, <Dimension 10>]] <Type of array elements>
<Array name>: Nombre de la array Variable a declarar. <Dimension 1>...<Dimension 10>: Dimensión 1 a 10 de la array. El valor de la dimensión puede corresponder a:- * o 0: la dimensión se inicializa con el elemento 0.
- un valor constante o un entero Variable: la dimensión se inicializa con el número especificado de elementos. Cada elemento se inicializa con el valor Default de su tipo.
<Type of array elements>: Tipo de los elementos del array. Consulte Los diferentes tipos de WLanguage.
Declaración de un parámetro array Ocultar los detalles
One-dimensional array: <Parameter name> is array of [<Dimension>] <Type of array elements>
Two-dimensional array <Parameter name> is array of <Dimension 1> by <Dimension 2> <Type of array elements>
N-dimensional array <Parameter name> is array of [<Dimension 1> [by <Dimension 2>] ... [ by <Dimension N>]] <Type of array elements>
<Parameter name>: Nombre del parámetro array a declarar. <Dimension n>: puede no especificarse, puede corresponder a * , 0 o a un valor constante. <Type of array elements>: Tipo de los elementos del array. Consulte Los diferentes tipos de WLanguage. Observación: Los elementos que componen la array también pueden ser arrays, arrays fijo, arrays asociativo, colas, pilas o listas..
Refiriéndose a un array Ocultar los detalles
Referring to an element in a one-dimensional array: <Array name>[Index1] Referencing an element in a two-dimensional array: <Array name>[Index1, Index2] OR <Array name>[index1][index2] Referring to an element in a n-dimensional array: <Array name>[Index1,...,IndexN] OR <Array name>[Index1]...[IndexN]
<Array name>: Nombre de la array a utilizar. <Index1>: Índice del elemento para la 1.ª dimensión. <Index2>: Índice del elemento para la 2.ª dimensión. <IndexN>: Índice del elemento para la N-ésima dimensión (N <= 10). Observaciones Otros tipos de arrays La palabra clave Array permite definir un array. Existen otros tipos de arrays "avanzada": - Dynamic array: Array asignada a petición.
- array fija: array de tamaño fijo (recomendado para las APIs de Windows).
- Asociación array: Array permite almacenar elementos indexados sobre cualquier tipo de información.
Procedure: Declaración de un parámetro array Un array puede ser pasado como parámetro a un Procedure. Por ejemplo:
PROCEDURE AddCustomer(arrCustomer is array of * CCustomer,
sName is string,
sInfo is string)
c is CCustomer(sName, sInfo)
Add(arrCustomer, c)
Observaciones: - El tipo de los elementos que se encuentran en la array pasada como parámetro debe ser el mismo que el de la declaración.
- El número de dimensiones de la array pasada como parámetro debe ser el mismo que el de la declaración.
- El número de elementos encontrados en cada dimensión de la array pasada como parámetro debe corresponder a la declaración:
- si el número de elementos para la dimensión es *, no se realiza ninguna verificación.
- si se especifica el número de elementos para la dimensión, el número de elementos debe ser idéntico.
- No se realiza ninguna verificación durante la compilación: Los controles se realizan en tiempo de ejecución.
Pasar una array como parámetro a una Procedure Un array puede ser pasado como parámetro a un Procedure. Para ello, utilice la siguiente sintaxis: <Procedure name>(<Array name>) Por ejemplo: SuppArray is array of 10 by 50 strings
DisplayArray(SuppArray)
Funciones WLanguage y arrays Se pueden utilizar varias funciones de WLanguage para manipular el arrays. Tiene la capacidad de realizar clasificaciones, búsquedas, etc.. Para obtener más información, consulte Funciones de arrays. Limitaciones: Elementos de una array - Un array puede ser hecho de clases sólo si estas clases tienen un constructor sin parámetro (o con parámetros opcionales).
- Un array no puede estar hecho de variables compuestas.
- Y array no se puede hacer de arrays.
- No es posible crear arrays de clases o estructuras.
Matrices en las clases Cuando se copian instancias de clases, todos los miembros de la clase se copian en la nueva instancia excepto arrays. Por lo tanto, si se modifica el valor de un miembro de array, este valor se modifica en todas las instancias. A get independiente arrays en todas las instancias de las clases, un array local debe ser declarado de la siguiente manera: SystemClass is Class
aDefaultArray is local array of 1 int
END
Agregar el contenido de una estructura a un array de estructuras sin utilizar una variable de la estructura Si utiliza un array de estructuras con pocos miembros, puede ser más fácil agregar directamente una estructura utilizando el operador [ ] (corchetes). Por ejemplo, para la siguiente estructura: // Structure to store a letter and its ASCII code STKey is Structure sKey is string nAsciiCode is int END // Array of structures arrKeys is array of STKey
En la mayoría de los casos, el contenido se agrega utilizando una variable de un tipo declarado en la estructura: // Temporary structure for the addition stAKey is STKey // Stores the letter A stAKey.sKey = "A" stAKey.nAsciiCode = Asc("A") arrKeys.Add(stAKey)
Con el operador [ ], se obtiene una mejor legibilidad:
// Stores the letter A arrKeys.Add(["A", Asc("A")])
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|