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)