blob: 9aa90f25de7e41fc29861266b61d997c54978c75 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002m_copy_delete()
3***************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 mapping m_copy_delete(mapping map, mixed key)
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012ARGUMENTE
13=========
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 map - das Mapping, aus dem geloescht werden soll.
16 key - der zu loeschende Eintrag
MG Mud User88f12472016-06-24 23:31:02 +020017
MG Mud User88f12472016-06-24 23:31:02 +020018
Zesstra953f9972017-02-18 15:37:36 +010019BESCHREIBUNG
20============
MG Mud User88f12472016-06-24 23:31:02 +020021
Zesstra953f9972017-02-18 15:37:36 +010022 Aus dem Mapping map wird der Eintrag key geloescht (wenn er in map vor-
23 handen ist). map wird dabei nicht veraendert.
MG Mud User88f12472016-06-24 23:31:02 +020024
Zesstra953f9972017-02-18 15:37:36 +010025
26RUECKGABEWERT
27=============
28
29 Eine (flache !) Kopie von map ohne den Eintrag key, d.h. enthaltene
30 Mappings/Arrays werden nicht kopiert.
31
32
33BEMERKUNGEN
34===========
35
36 Das urspruengliche Mapping wird bei dieser Operation nicht veraendert!
37 Wenn man nur einen Wert aus dem Mapping loeschen will und die Kopie nicht
38 braucht, bietet sich efun::m_delete(mapping,key) sehr an, da die Erstellung
39 einer Kopie sehr aufwendig sein kann.
40
41
42BEISPIELE
43=========
44
45 mapping m1, m2;
46
47 m1 = ([ "a":1, "b":2, "c":3 ]);
48
49 m2 = m_copy_delete(m1, "b");
50 => m1 = ([ "a":1, "b":2, "c":3 ])
51 m2 = ([ "a":1, "c":3 ])
52
53 m_copy_delete(m1, "a");
54 => (es hat sich nichts geaendert)
55
56 m1 = m_copy_delete(m1, "a");
57 => m1 = ([ "b":2, "c":3 ])
58
59 Im letzten Fall sollte aber besser efun::m_delete(m1, "a") benutzt
60 werden, da ansonsten das Mapping unnoetig kopiert wird und Rechen-
61 leistung frisst.
62
63
64SIEHE AUCH
65==========
66
67 efun::m_delete(E), mappingp(E), mkmapping(E), m_indices,(E) m_values(E),
68 sizeof(E), widthof(E)