当前位置 : 主页 > 网络编程 > lua >

如何从最终迭代Lua表?

来源:互联网 收集:自由互联 发布时间:2021-06-23
如何从末尾迭代一个简单的Lua表,即 a sequence? 想要的行为示例: local mytable = {'a', 'b', 'c'}for i, value in reversedipairs(mytable) do print(i .. ": " .. value)end 应该输出 3: c2: b1: a 如何实现reverseipairs?
如何从末尾迭代一个简单的Lua表,即 a sequence?

想要的行为示例:

local mytable = {'a', 'b', 'c'}
for i, value in reversedipairs(mytable) do
    print(i .. ": " .. value)
end

应该输出

3: c
2: b
1: a

如何实现reverseipairs?

感谢@Piglet,获取有用的链接.

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
网友评论