SYNOPSIS
mixed * allocate(int size)
mixed * allocate(int size, mixed init_value)
mixed * allocate(int *sizes)
mixed * allocate(int *sizes, mixed init_value)
DESCRIPTION
Allocate an array of size elements. The number of elements
must be >= 0 and not bigger than a system maximum (usually
1000).
If <init_value> is given, all array elements will be set
to this value (if <init_value> is an array or mapping, a shallow
copy will be created for each element), otherwise they all will be 0.
In the second form (using an array of sizes instead of one size),
the efun will allocate a multidimensional array, that is an array
of arrays.
Note that this function is hardly needed anymore, because
arrays can be added by the + operator, and can be constructed
and initialized by the ({ }) operator. The functions only
use is to construct big empty arrays.
EXAMPLES
string *buffer;
buffer = allocate(50);
buffer = allocate(50, "");
buffer = allocate( ({ 2, 3 }) )
--> ({ ({ 0, 0, 0 }), ({ 0, 0, 0 }) })
HISTORY
LDMud 3.2.9 added the initialization value and the multi-dimensional
allocation.
SEE ALSO
sizeof(E)
|