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)