Lua 迭代表
示例
Lua标准库提供pairs了对表的键和值进行迭代的功能。使用进行迭代时pairs,即使表的键是numeric,也没有指定的遍历顺序。
for key, value in pairs(input_table) do
print(key, " -- ", value)
end对于使用数字键的表,Lua提供了一个ipairs功能。该ipairs函数将始终从table[1],table[2]等等进行迭代,直到nil找到第一个值。
for index, value in ipairs(numeric_table) do
print(index, ". ", value)
end请注意,ipairs()在某些情况下,迭代使用将无法正常工作:
input_table有“洞”。(有关更多信息,请参见“避免在用作数组的表中的间隙”部分。)例如:
table_with_holes={[1]="value_1",[3]="value_3"}
键并非全都是数字。例如:
mixed_table={[1]="value_1",["not_numeric_index"]="value_2"}
当然,以下内容也适用于适当顺序的表:
for i = 1, #numeric_table do
print(i, ". ", numeric_table[i])
end以相反的顺序迭代数字表很容易:
for i = #numeric_table, 1, -1 do
print(i, ". ", numeric_table[i])
end迭代表的最后一种方法是next在通用for循环中使用选择器。就像pairs没有特定的遍历顺序。(该pairs方法在next内部使用。因此使用next本质上是的更手动版本pairs。有关更多详细信息,请参见pairsLua的参考手册和nextLua的参考手册。)
for key, value in next, input_table do
print(key, value)
end
热门推荐
4 贫困户祝福语简短
10 祝福语大全简短赞美同学
11 初升高祝福语家长简短
12 微信晚上祝福语简短
13 关于开车的祝福语简短
14 中秋祝福语送朋友简短
15 英语简短祝福语给学生
16 给长辈祝福语简短大全
17 今日祝福语简短10字
18 分别祝福语简短情侣短句