| SYNOPSIS |
| mixed * allocate(int size) |
| mixed * allocate(int size, mixed init_value) |
| |
| mixed * allocate(*int sizes) |
| mixed * allocate(*int sizes, mixed init_value) |
| |
| BESCHREIBUNG |
| Allokiert ein Array von <size> Elementen. Die Anzahl Elemente muss |
| groesser sein als 0, darf aber das Systemmaximum (normalerweise 1000) |
| nicht uebersteigen. Wird <init_value> angegeben, wird allen Elementen |
| dieser als Anfangswert zugewiesen. Wenn <init_value> ein Mapping oder |
| ein Array ist, wird fuer jedes Element eine einfache Kopie erstellt. |
| Wird <init_value> nicht angegeben, sind alle Elemente 0. |
| |
| In der zweiten Form (mit einem Feld von <sizes> anstelle nur einer |
| <size>) erzeugt allocate() ein mehrdimensionales Array, ein Array aus |
| Arrays. |
| |
| Heute wird allocate() kaum mehr benoetigt, weil Arrays mit dem |
| +-Operator addiert und mit dem ({})-Operator initialisiert werden |
| koennen. Der einzige Nutzen der Funktion ist, grosse leere |
| oder initialisierte Arrays zu erzeugen. |
| |
| BEISPIELE |
| string *buffer; |
| buffer = allocate(50); |
| buffer = allocate(50, ""); |
| |
| buffer = allocate( ({ 2, 3 }) ) |
| --> ({ ({ 0, 0, 0 }), ({ 0, 0, 0 }) }) |
| |
| GESCHICHTE |
| LDMud 3.2.9 fuehrte den Anfangswert <init_value> und die |
| Initialisierung von mehrdimensionalen Arrays ein. |
| |
| SIEHE AUCH |
| sizeof(E) |