[Main page] [Overview]     /efun /m_add

SYNOPSIS
mapping m_add (mapping map, mixed key, [mixed data...])

DESCRIPTION
Add (or replace) an entry with index <key> in mapping <map>.
The modified mapping is also returned as result.

The values for the entry are taken from the <data> arguments.
Unassigned entry values default to 0, extraneous <data> arguments
are ignored.

The difference between m_add() and the operator += is that the
latter creates a duplicate of the target mapping if it has
several references (see EXAMPLES).

EXAMPLES
mapping m;

m = ([ "foo" ]);
m_add(m, "bar", 1) --> ([ "foo", "bar" ])

m = ([ "foo":1 ]);
m_add(m, "bar", 1) --> ([ "foo":1, "bar":1 ])

m = ([ "foo":1;2 ]);
m_add(m, "bar", 1) --> ([ "foo":1;2, "bar":1;0 ])
m_add(m, "baz", ({ 4, 5 })... )
--> ([ "foo":1;2, "bar":1;0, "baz":4;5 ])


HISTORY
Introduced in LDMud 3.2.9.

SEE ALSO
mappingp(E), mkmapping(E), m_delete(E), m_entry(E), m_indices(E),
m_values(E), sizeof(E), widthof(E)