lua - pair() 或 ipairs() 在 Lua 中有什么作用?
问题描述
编程初学者在这里学习Lua。我总是在示例代码中看到这个函数,主要是在一个遍历数组的 for 循环中。我实际上不明白它的作用以及为什么要使用它。似乎我做了很多类似的 for 循环,几乎做同样的事情,但我从不使用 pair() 或 ipairs()
解决方案
来自 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 的所有键值对。
推荐阅读
- cmake - CMake未能构建,找不到openssl
- c - 打印 C 链表会产生内存泄漏
- c - 零在C中的int字面量之间
- android - DatabaseHelper 中的 DeleteFunction(Long) 无法应用于 java.lang.String
- model-checking - SPIN 断言未触发
- javascript - 无法使用 AJAX 获取选择值
- php - preg_replace 模式不适用于 HTML 标签
- javascript - React Router 4:内部导航更改 URL 但不更改视图
- python - 熊猫找到 DateTimeIndex 之间的增量
- c# - 通过 HTTP 请求提取图像