MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | SYNOPSIS |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 2 | mixed * allocate(int size) |
| 3 | mixed * allocate(int size, mixed init_value) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 5 | mixed * allocate(*int sizes) |
| 6 | mixed * allocate(*int sizes, mixed init_value) |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 7 | |
| 8 | BESCHREIBUNG |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 9 | Allokiert ein Array von <size> Elementen. Die Anzahl Elemente muss |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | 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 |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 21 | +-Operator addiert und mit dem ({})-Operator initialisiert werden |
| 22 | koennen. Der einzige Nutzen der Funktion ist, grosse leere |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 23 | oder initialisierte Arrays zu erzeugen. |
| 24 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 25 | BEISPIELE |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 26 | string *buffer; |
| 27 | buffer = allocate(50); |
| 28 | buffer = allocate(50, ""); |
| 29 | |
| 30 | buffer = allocate( ({ 2, 3 }) ) |
| 31 | --> ({ ({ 0, 0, 0 }), ({ 0, 0, 0 }) }) |
| 32 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame] | 33 | GESCHICHTE |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 34 | LDMud 3.2.9 fuehrte den Anfangswert <init_value> und die |
| 35 | Initialisierung von mehrdimensionalen Arrays ein. |
| 36 | |
| 37 | SIEHE AUCH |
| 38 | sizeof(E) |