blob: 1cef9a8ce7957fcb9fa1227fe2834c462458a6dd [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
2 mixed deep_copy(mixed arg);
3
4BESCHREIBUNG
5 Erzeugt eine echte Kopie von <arg> und liefert diese zurueck. Fuer
6 Arrays und Mappings bedeutet dies, dass ein neues Array oder Mapping
7 erzeugt wird, das exakte Kopien der Eintraege des Originals enthaelt.
8 Eingebettete Arrays und Mappings werden ebenso echt kopiert.
9
10 Fuer andere Typen als Mappings und Arrays bewirkt diese Funktion
11 nichts.
12
13 Wenn im Driver DYNAMIC_COST definiert ist, zaehlt jedes eingebettete
14 Mapping oder Array zu den Evaluationskosten sowohl in der Groesse als
15 auch in der Einbettungstiefe.
16
17BEISPIEL
18 mixed *a, *b;
19 a = ({ 1, ({ 21, 22 }) });
20 b = deep_copy(a);
21 a[0] = -1; a[1][0] = -21;
22 --> a ist jetzt ({ -1, ({ -21, 22 }) })
23 b bleibt ({ 1, ({ 21, 22 }) })
24
25AENDERUNGEN
26 Eingefuehrt in LDMud 3.2.6.
27 LDMud 3.2.9 fuegte die dynamischen Kosten zur Efun hinzu.