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)