New shared collection
New shared collection {( ...value : any )} : Collection
Parameter | Type | Description | |
---|---|---|---|
value | Number, Text, Date, Time, Boolean, Shared object, Shared collection | → | Shared collection's value(s) |
Function result | Collection | ← | New shared collection |
Description
The New shared collection
command creates a new empty or prefilled shared collection and returns its reference. Collections can be handled using properties and functions of the Collection class API.
Adding an element to this collection using the assignment operator must be surrounded by the Use...End use
structure, otherwise an error is generated (this is not necessary when adding elements using functions such as push()
or map()
because they automatically trigger an internal Use...End use). Reading an element without a Use...End use structure is, however, possible.
For more information on shared collections, please refer to the Shared objects and collections page.
If you do not pass any parameters, New shared collection
creates an empty shared collection and returns its reference.
You must assign the returned reference to a 4D variable of the Collection type.
Keep in mind that
var : Collection
statement declares a variable of theCollection
type but does not create any collection.
Optionally, you can prefill the new shared collection by passing one or several value(s) as parameter(s). Otherwise, you can add or modify elements subsequently through object notation assignment (see example).
If the new element index is beyond the last existing element of the shared collection, the collection is automatically resized and all new intermediary elements are assigned a null value.
You can pass any number of values of the following supported types:
- number (real, longint...). Number values are always stored as reals.
- text
- boolean
- date
- time (stored as number of milliseconds - real)
- null
- shared object
- shared collection
Unlike standard (not shared) collections, shared collections do not support pictures, pointers, and objects or collections that are not shared.
Example
$mySharedCol:=New shared collection("alpha";"omega")
Use($mySharedCol)
$mySharedCol[1]:="beta"
End use
See also
New collection
New shared object
Shared objects and shared collections