.\"iterate over the (key, value) pairs in a mapping .TH each 3 .SH NAME each() - iterate over the (key, value) pairs in a mapping .SH SYNOPSIS mixed * each(mapping m) .SH 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 (and LPmud), 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). .PP For example: .IP .nf mixed *pair; while ((pair = each(x)) != ({})) { write("key = " + pair[0] + "\n"); write("value = " + pair[1] + "\n"); } .SH SEE ALSO keys(3), values(3)