blob: cb1c97b4e7937dcb36b64972ea1c8b01ceade1e7 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001FUNKTION:
2 mapping m_copy_delete(mapping map, mixed key)
3
4ARGUMENTE:
5 map - das Mapping, aus dem geloescht werden soll.
6 key - der zu loeschende Eintrag
7
8BESCHREIBUNG:
9 Aus dem Mapping map wird der Eintrag key geloescht (wenn er in map vor-
10 handen ist). map wird dabei nicht veraendert.
11
12RUECKGABEWERT:
13 Eine (flache !) Kopie von map ohne den Eintrag key, d.h. enthaltene
14 Mappings/Arrays werden nicht kopiert.
15
16BEMERKUNGEN:
17 Das urspruengliche Mapping wird bei dieser Operation nicht veraendert!
18 Wenn man nur einen Wert aus dem Mapping loeschen will und die Kopie nicht
19 braucht, bietet sich efun::m_delete(mapping,key) sehr an, da die Erstellung
20 einer Kopie sehr aufwendig sein kann.
21
22BEISPIELE:
23 mapping m1, m2;
24
25 m1 = ([ "a":1, "b":2, "c":3 ]);
26
27 m2 = m_copy_delete(m1, "b");
28 => m1 = ([ "a":1, "b":2, "c":3 ])
29 m2 = ([ "a":1, "c":3 ])
30
31 m_copy_delete(m1, "a");
32 => (es hat sich nichts geaendert)
33
34 m1 = m_copy_delete(m1, "a");
35 => m1 = ([ "b":2, "c":3 ])
36
37 Im letzten Fall sollte aber besser efun::m_delete(m1, "a") benutzt
38 werden, da ansonsten das Mapping unnoetig kopiert wird und Rechen-
39 leistung frisst.
40
41SIEHE AUCH:
42 efun::m_delete(E), mappingp(E), mkmapping(E), m_indices,(E) m_values(E),
43 sizeof(E), widthof(E)