|
|
|
|
|
- Other types of arrays
- Procedure: Declaring an array parameter
- Passing an array as parameter to a procedure
- WLanguage functions and arrays
- Array of arrays, associative arrays, queues, stacks and lists
- Limits: Elements of an array
- Arrays in classes
- Adding the content of a structure to an array of structures without using a variable of the structure
Array (Variable type) In french: Tableau
An array is a structured type used to group together a set of elements of the same type. Each element of the array can be accessed by its index.
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
Syntax
Declaring a one-dimensional array (syntax 1)
<Array name> is array [<growth>] [ [<Dimension 1>] ] <Type of array elements>
Example:
arrString is array <growth=N> [10] strings
arrInt is array [5] ints
Declaring a one-dimensional array (syntax 2) Hide the details
<Array name> is array [<growth>] of [<Dimension>] <Type of array elements>
<Array name>: Name of the array variable to be declared. <growth>: Option to expand the array:- nothing (default) or "<agrandissement=0>"the array is not enlarged automatically. For example, if the array contains 5 elements and the program accesses element 6 or 100, an execution error will be raised.
- "<agrandissement>"or "<agrandissement=1>"the array is automatically enlarged by 1 element. For example, if the array contains 5 elements and the program accesses element 6, the array is automatically expanded to manipulate element 6. If the program accesses element 100, an execution error will be raised.
- "<agrandissement=N>": the array is automatically enlarged by the number of elements required. For example, if the array contains 5 elements and the program accesses element 6, the array is automatically expanded by one element to manipulate element 6; if the program accesses element 100, the array is automatically expanded to manipulate element 100. Intermediate elements are initialized with the default value of the type of the array elements.
Note: To enlarge a multi-dimensional array, use the Dimension function.. <Dimension>: Optional dimension of the array. This parameter can:- not specified or * or 0: the array is initialized empty.
- correspond to a constant value or an integer variable: the array is initialized with the specified number of elements. Each element is initialized with the default value of its type.
<Type of array elements>: Type of the elements in the array. See The different WLanguage types.
Declaring a multi-dimensional array (10 dimensions maximum) - Syntax 1
<Array name> is array of [ [<Dimension 1> [,<Dimension 2>]...[,<Dimension 10>]] ] <Type of array elements>
Example:
arrString is array [10,20] strings arrInt is array [3,5,2] ints
Declaring a multi-dimensional array (10 dimensions maximum) - Syntax 2 Hide the details
<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>: Name of the array variable to be declared. <Dimension 1>...<Dimension 10>: Dimension 1 to 10 of the array. The value of the dimension can correspond to:- * or 0: the dimension is initialized with 0 elements.
- a constant value or an integer variable: the dimension is initialized with the specified number of elements. Each element is initialized with the default value of its type.
<Type of array elements>: Type of the elements in the array. See The different WLanguage types.
Declaring an array parameter Hide the details
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>: Name of the array parameter to be declared. <Dimension n>: <Dimension> may not be specified, it may correspond to * , 0 or to a constant value. <Type of array elements>: Type of the elements in the array. See The different WLanguage types. Note: The elements making up the array can also be arrays, fixed arrays, associative arrays, queues, stacks or lists..
Referencing an array Hide the details
Referencing 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] Referencing an element in a n-dimensional array: <Array name>[Index1,...,IndexN] OR <Array name>[Index1]...[IndexN]
<Array name>: Name of the array to be manipulated. <Index1>: Index of the element for the 1st dimension. <Index2>: Index of the element for the 2nd dimension. <IndexN>: Index of the element for the Nth dimension (N <= 10). Remarks Other types of arrays The Array keyword is used to define an array. Other types of "advanced" arrays are available: Procedure: Declaring an array parameter An array can be passed as parameter to a procedure. For example:
PROCEDURE AddCustomer(arrCustomer is array of * CCustomer,
sName is string,
sInfo is string)
c is CCustomer(sName, sInfo)
Add(arrCustomer, c)
Remarks: - The data type of the array elements passed as parameter must be the same as the one used in the declaration.
- The number of dimensions of the array passed as parameter must be the same as the one used in the declaration.
- The number of elements in each dimension of the array passed as parameter must correspond to the declaration:
- if the number of elements for the dimension is *, no check is performed.
- if the number of elements for the dimension is specified, the number of elements must be the same.
- No checks are performed at compile time: checks are only performed at runtime.
Passing an array as parameter to a procedure An array can be passed as parameter to a procedure. To do so, use the following syntax: <Procedure name>(<Array name>) For example: SuppArray is array of 10 by 50 strings
DisplayArray(SuppArray)
WLanguage functions and arrays Several WLanguage functions can be used to manipulate arrays. You can sort, search, etc. For more details, see Array functions. Arrays in classes When copying class instances, all the members of the class are copied to the new instance, except for the arrays. Therefore, if the value of an array member is modified, it is also modified in all the instances. To get an independent array in all class instances, it must be declared as follows: SystemClass is Class
aDefaultArray is local array of 1 int
END
Adding the content of a structure to an array of structures without using a variable of the structure If you are using an array of structures with few members, it may be easier to directly add a structure by using the [ ] operator (square brackets). For example, for the following structure:
STTouche is Structure
sTouche is string
nCodeAscii is int
END
tabTouches is array of STTouche
In most cases, content is added by using a variable of a type declared in the structure:
stUneTouche is STTouche
stUneTouche.sTouche = "A"
stUneTouche.nCodeAscii = Asc("A")
tabTouches.Ajoute(stUneTouche)
With the [ ] operator, you get better legibility:
tabTouches.Ajoute(["A", Asc("A")])
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|