Lua 4.0 中,foreachi 是一个内置函数,专门用于遍历表(table)的数值索引部分(从索引 1 开始,按顺序访问到 getn(table) 返回的最大数值索引)。这是对 foreach 函数的一个特化版本,专注于 数组形式的表。
功能与使用场景
- 针对表中按 数字索引 存储的数据进行操作。
- 按索引的顺序从小到大遍历。
- 如果传递的函数在某次调用中返回非
nil 值,则终止遍历并返回该值。
这种设计非常适合处理类似数组的数据结构,尤其在 Lua 4.0 中,数组和字典(散列表)共存于同一个表。
官方定义与实现
官方文档给出的Lua代码实现如下:
function foreachi (t, f)
for i = 1, getn(t) do
local res = f(i, t[i])
if res then return res end
end
end
- 参数说明:
t :目标表。
f :函数,该函数会依次接收当前的索引和对应的值。
- 行为:
- 遍历表
t 的数值索引部分,从索引 1 开始,到 getn(t) 返回的最大数值索引结束。
- 对于每个索引
i 和对应值 t[i] ,调用函数 f(i, t[i]) 。
- 如果函数
f 返回非 nil值,则停止遍历,并将该返回值作为 foreachi` 的结果。
剩余 63% 内容需要支付 10.00
金币 后可完整阅读
支持付费阅读,激励作者创作更好的作品。
|