首页 > 解决方案 > pair() 或 ipairs() 在 Lua 中有什么作用?

问题描述

编程初学者在这里学习Lua。我总是在示例代码中看到这个函数,主要是在一个遍历数组的 for 循环中。我实际上不明白它的作用以及为什么要使用它。似乎我做了很多类似的 for 循环,几乎做同样的事情,但我从不使用 pair() 或 ipairs()

标签: lua

解决方案


来自 Lua 5.4 参考手册:

成对 (t)

返回三个值(一个迭代器函数、表 t 和 0)以便构造

 for i,v in ipairs(t) do body end

将遍历键值对 (1,t[1]), (2,t[2]), ...,直到第一个不存在的索引。

对 (t)

如果 t 有一个元方法 __pairs,则以 t 作为参数调用它并返回调用的前三个结果。

否则,返回三个值:next 函数、表 t 和 nil,以便构造

 for k,v in pairs(t) do body end

将遍历表 t 的所有键值对。

https://www.lua.org/manual/5.4/manual.html#pdf-ipairs

https://www.lua.org/manual/5.4/manual.html#pdf-pairs


推荐阅读