m_copy_delete()¶
FUNKTION¶
mapping m_copy_delete(mapping map, mixed key)
ARGUMENTE¶
map - das Mapping, aus dem geloescht werden soll.
key - der zu loeschende Eintrag
BESCHREIBUNG¶
Aus dem Mapping map wird der Eintrag key geloescht (wenn er in map vor-
handen ist). map wird dabei nicht veraendert.
RUECKGABEWERT¶
Eine (flache !) Kopie von map ohne den Eintrag key, d.h. enthaltene
Mappings/Arrays werden nicht kopiert.
BEMERKUNGEN¶
Das urspruengliche Mapping wird bei dieser Operation nicht veraendert!
Wenn man nur einen Wert aus dem Mapping loeschen will und die Kopie nicht
braucht, bietet sich efun::m_delete(mapping,key) sehr an, da die Erstellung
einer Kopie sehr aufwendig sein kann.
BEISPIELE¶
mapping m1, m2;
m1 = ([ "a":1, "b":2, "c":3 ]);
m2 = m_copy_delete(m1, "b");
=> m1 = ([ "a":1, "b":2, "c":3 ])
m2 = ([ "a":1, "c":3 ])
m_copy_delete(m1, "a");
=> (es hat sich nichts geaendert)
m1 = m_copy_delete(m1, "a");
=> m1 = ([ "b":2, "c":3 ])
Im letzten Fall sollte aber besser efun::m_delete(m1, "a") benutzt
werden, da ansonsten das Mapping unnoetig kopiert wird und Rechen-
leistung frisst.
SIEHE AUCH¶
efun::m_delete(E), mappingp(E), mkmapping(E), m_indices,(E) m_values(E),
sizeof(E), widthof(E)