可以使用 pairs
迭代器遍历表中的键值对,如下所示:
t = {10, print, x = 12, k = "hi"} for k, v in pairs(t) do print(k, v) end --> 1 10 --> 2 function: 0x558d565900f0 --> k hi --> x 12
受限于表在 Lua
语言中的底层实现机制,遍历过程中元素的出现顺序可能是随机的,相同的程序在每次运行时也可能产生不同的顺序。唯一可以确定的是,在遍历的过程中每个元素会且只会出现一次。
对于列表而言,可以使用 ipairs
迭代器:
t = {10, print, "hi"} for k, v in ipairs(t) do print(k, v) end --> 1 10 --> 2 function: 0x561fee3690f0 --> 3 hi
此时, Lua
会确保遍历是按照顺序进行的。
另一种遍历序列的方法是使用数值型 for
循环:
t = {10, print, 12, "hi"} for k = 1, #t do print(k, t[k]) end --> 1 10 --> 2 function: 0x55886c7440f0 --> 3 12 --> 4 hi