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 Elementen. Die Anzahl Elemente muss groesser sein als 0, darf aber das Systemmaximum (normalerweise 1000) nicht uebersteigen. Wird angegeben, wird allen Elementen dieser als Anfangswert zugewiesen. Wenn ein Mapping oder ein Array ist, wird fuer jedes Element eine einfache Kopie erstellt. Wird nicht angegeben, sind alle Elemente 0. In der zweiten Form (mit einem Feld von anstelle nur einer ) 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 und die Initialisierung von mehrdimensionalen Arrays ein. SIEHE AUCH sizeof(E)