blob: cf74429e6950e99bc780a6aa3c306a5d9e3772cc [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
Zesstrad59c3892019-11-28 20:53:39 +01002 mixed * allocate(int size)
3 mixed * allocate(int size, mixed init_value)
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstrad59c3892019-11-28 20:53:39 +01005 mixed * allocate(*int sizes)
6 mixed * allocate(*int sizes, mixed init_value)
MG Mud User88f12472016-06-24 23:31:02 +02007
8BESCHREIBUNG
Zesstrad59c3892019-11-28 20:53:39 +01009 Allokiert ein Array von <size> Elementen. Die Anzahl Elemente muss
MG Mud User88f12472016-06-24 23:31:02 +020010 groesser sein als 0, darf aber das Systemmaximum (normalerweise 1000)
11 nicht uebersteigen. Wird <init_value> angegeben, wird allen Elementen
12 dieser als Anfangswert zugewiesen. Wenn <init_value> ein Mapping oder
13 ein Array ist, wird fuer jedes Element eine einfache Kopie erstellt.
14 Wird <init_value> nicht angegeben, sind alle Elemente 0.
15
16 In der zweiten Form (mit einem Feld von <sizes> anstelle nur einer
17 <size>) erzeugt allocate() ein mehrdimensionales Array, ein Array aus
18 Arrays.
19
20 Heute wird allocate() kaum mehr benoetigt, weil Arrays mit dem
Zesstrad59c3892019-11-28 20:53:39 +010021 +-Operator addiert und mit dem ({})-Operator initialisiert werden
22 koennen. Der einzige Nutzen der Funktion ist, grosse leere
MG Mud User88f12472016-06-24 23:31:02 +020023 oder initialisierte Arrays zu erzeugen.
24
Zesstrad59c3892019-11-28 20:53:39 +010025BEISPIELE
MG Mud User88f12472016-06-24 23:31:02 +020026 string *buffer;
27 buffer = allocate(50);
28 buffer = allocate(50, "");
29
30 buffer = allocate( ({ 2, 3 }) )
31 --> ({ ({ 0, 0, 0 }), ({ 0, 0, 0 }) })
32
Zesstrad59c3892019-11-28 20:53:39 +010033GESCHICHTE
MG Mud User88f12472016-06-24 23:31:02 +020034 LDMud 3.2.9 fuehrte den Anfangswert <init_value> und die
35 Initialisierung von mehrdimensionalen Arrays ein.
36
37SIEHE AUCH
38 sizeof(E)