| SYNOPSIS |
| *mixed allocate(int size); |
| *mixed allocate(int size, mixed init_value); |
| |
| *mixed allocate(*int sizes); |
| *mixed allocate(*int sizes, mixed init_value); |
| |
| BESCHREIBUNG |
| Alloziert 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 werden koennen und mit dem ({})-Operator |
| initialisiert. Der einzige Nutzen der Funktion ist, grosse leere |
| oder initialisierte Arrays zu erzeugen. |
| |
| BEISPIEL |
| string *buffer; |
| buffer = allocate(50); |
| buffer = allocate(50, ""); |
| |
| buffer = allocate( ({ 2, 3 }) ) |
| --> ({ ({ 0, 0, 0 }), ({ 0, 0, 0 }) }) |
| |
| AENDERUNGEN |
| LDMud 3.2.9 fuehrte den Anfangswert <init_value> und die |
| Initialisierung von mehrdimensionalen Arrays ein. |
| |
| SIEHE AUCH |
| sizeof(E) |