each(3)               LPC 系统函数               each(3)

名称
     each() - 根据参数指定的对应依序取出它的元素

语法
     mixed *each( mapping m, int reset );

描述
     <m> 中的 (key, value) 对, 会由本函数依序"拿"出来, 传回一个
     阵列, 该阵列含两个元素, 第一个是 <key>, 第二个是 <value>.
     拿的次序跟 keys(), values() 的次序相同. 当拿完的时候, each()
     会传回 ({}), 也就是空阵列.
	注意: 如果你的判断条件不对, 本函数很容易造成无穷回圈.
		此时, each() 会一直循环式的取出 <m> 对应中的元素.
		也就是拿完还回从头拿起.
              如果你还没处理完就有其它函数也使用 <m>, 则会重设
		对应 <m> 的位置, 设成开头.
     本函数的使用要在驱动程式编译时, 在 options.h 中设定 EACH.

例子
     void test()
     {
	mapping x=([
        	1:11,
       		2:22,
        	3:33,
        	4:44,
        	5:55,
        	6:66,
  	]);
  	mixed *pair;


        while ((pair = each(x)) != ({})) {
                printf ("%O\n", pair);
        }
     }


请参考
     keys(3), values(3)

MudOS                Last change: 5 Sep 1994                    1

