如何从末尾迭代Lua表?
我如何迭代一个简单的Lua表,也就是从末尾开始迭代 通缉行为示例:如何从末尾迭代Lua表?,lua,iterator,reverse,lua-table,Lua,Iterator,Reverse,Lua Table,我如何迭代一个简单的Lua表,也就是从末尾开始迭代 通缉行为示例: local mytable = {'a', 'b', 'c'} for i, value in reversedipairs(mytable) do print(i .. ": " .. value) end 应该输出 3: c 2: b 1: a 如何在这里实现反向配对?谢谢@piege提供有用的链接 local function reversedipairsiter(t, i) i =
local mytable = {'a', 'b', 'c'}
for i, value in reversedipairs(mytable) do
print(i .. ": " .. value)
end
应该输出
3: c
2: b
1: a
如何在这里实现反向配对?谢谢@piege提供有用的链接
local function reversedipairsiter(t, i)
i = i - 1
if i ~= 0 then
return i, t[i]
end
end
function reversedipairs(t)
return reversedipairsiter, t, #t + 1
end
事实上,我想出了一个更简单的方法
local mytable = {'a', 'b', 'c'}
for i = #mytable, 1, -1 do
value = mytable[i]
print(i .. ": " .. value)
end
此外,您还可以使用标准for带有反向索引的语句:
for i=1, #mytable do
print(mytable[#mytable + 1 - i])
end
你自己编的很好,Idk为什么soneone没有写出来解释呢。这是一项相当简单的任务。当它允许您时,请确保将其标记为正确:)您的迭代比这更一般。也就是说,它可以在桌子上工作而不受太多限制。它只是在表的上半部分进行反向迭代。如果表没有序列,则行为未定义。@谢谢,我编辑了问题。我知道它必须有一个正式的名字,但我还没有在任何地方找到它。