SYNOPSIS
mixed deep_copy(mixed arg)
BESCHREIBUNG
Erzeugt eine echte Kopie von <arg> und liefert diese zurueck. Fuer
Arrays und Mappings bedeutet dies, dass ein neues Array oder Mapping
erzeugt wird, das exakte Kopien der Eintraege des Originals enthaelt.
Eingebettete Arrays und Mappings werden ebenso echt kopiert.
Fuer andere Typen als Mappings und Arrays bewirkt diese Funktion
nichts.
Wenn im Driver DYNAMIC_COST definiert ist, zaehlt jedes eingebettete
Mapping oder Array zu den Evaluationskosten sowohl in der Groesse als
auch in der Einbettungstiefe.
BEISPIELE
mixed *a, *b;
a = ({ 1, ({ 21, 22 }) });
b = deep_copy(a);
a[0] = -1; a[1][0] = -21;
--> a ist jetzt ({ -1, ({ -21, 22 }) })
b bleibt ({ 1, ({ 21, 22 }) })
GESCHICHTE
Eingefuehrt in LDMud 3.2.6.
LDMud 3.2.9 fuegte die dynamischen Kosten zur Efun hinzu.
|