lua pairs和ipairs的区别

Posted koushr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua pairs和ipairs的区别相关的知识,希望对你有一定的参考价值。

pairs能够遍历表中全部的key

ipairs会依次遍历索引为1的值,索引为2的值,索引为3的值。。。直到值为nil,退出遍历

举例:

local a = {[1] = "a1", [2] = "a2", [4] = "a3", [5] = "a4", [6] = "a5"}

for key, value in ipairs(a) do

  ngx.say("key=", key, ", value=", value)

end

结果是

key=1, value=a1

key=2, value=a2

因为在table a中,索引为3对应的的值为nil,故就退出遍历了,只能遍历到索引为1、2的值

 

以上是关于lua pairs和ipairs的区别的主要内容,如果未能解决你的问题,请参考以下文章

lua 中pairs 和 ipairs区别

Lua中ipairs和pairs的区别详解

lua中pairs和ipairs的区别

lua pairs和ipairs的区别

Lua中,泛型for循环遍历table时,ipairs和pairs的区别

LUA入门以及ipairs pairs的区别