网络游戏《天下》 管理员手册

MudOS v21c2



	each(3)			MudOS v21c2		(5 Sep 1994)

	名称:
		each() - 分次传回一个映射变数 (mapping) 的各个
			(key, value) 的内容.
	语法:
		mixed *each( mapping m, int reset );
	用法:	
		each()  函式把一个映射变数里的每对 (key, value) 一次
		一次地传回. each() 传回来的次序与 keys() 和 values()  
		两个函式传回来的次序一样. 当 each() 读到映射变数的尾
		端时, 会传回一个空的向量 (null vector, 即 (0,0)). 而
		在传回空向量之後, 下一个 each() 传回的内容又会从头开
		始. 

		当不同的物件使用 each() 读取相同的映射变数时, 一定都会
		从头开始. 虽然 MudOS 有单执行绪 (single thread) 的性质
		, 但是也不致於让 each() 执行时出现问题. ( 实际上一个物
		件无法於使用 each() 读取映射函数读到一半时, 跳开目前读
		(key, value) 的位置)

		如果指定第二个参数为 1, 则 each() 会重新从头开始读取.

		□例:

		mixed *pair;

		while ((pair = each(x)) != ({})) {
			write("key   = " + pair[0] + "\n");
			write("value = " + pair[1] + "\n");
		}
	参考:
		keys(3), values(3)
	翻译:
		Spock @ FF	97.Feb.7.		(printed 3/16/95)