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)