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)