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)