each
each() - iterate over the (key, value) pairs in a mapping
SYNOPSIS
mixed *each( mapping m, int reset );
DESCRIPTION
The (key, value) pairs in a mapping may be iterated over
using the each() efun. each() returns the (key, value)
pairs in the same order as keys() and values() do. each()
returns a null vector when the end of the mapping is
reached. The next access to each() (after receiving the
null vector) will start over at the beginning of the map.
The current position in the map always resets to the
beginning when a different object accesses the map via
each(). Given the singlethreaded nature of MudOS, this
doesn't present a problem (and in fact makes sure that an
object can't leave the current position in an in-between
state). If the optional second argument is given as 1,
then each()'s position in mapping `m' is reset to the
beginning.
For example:
mixed *pair;
while ((pair = each(x)) != ({})) {
write("key = " + pair[0] + "\n");
write("value = " + pair[1] + "\n");
}
SEE ALSO
keys(3), values(3)