lua - 如何在 Lua 中获取第一个表值

标签 lua lua-table

有没有更简单的方法来做到这一点?我需要获取表中的第一个值,其索引
是整数,但可能不是从 [1] 开始。谢谢!

local tbl = {[0]='a',[1]='b',[2]='c'}  -- arbitrary keys
local result = nil
for k,v in pairs(tbl) do -- might need to use ipairs() instead?
    result = v
    break
end

最佳答案

如果表可以从零或一开始,但没有别的:

if tbl[0] ~= nil then
    return tbl[0]
else
    return tbl[1]
end

-- or if the table will never store false
return tbl[0] or tbl[1]

否则,您别无选择,只能使用 pairs 遍历整个表。 ,因为键可能不再存储在数组中,而是存储在无序哈希集中:
local minKey = math.huge
for k in pairs(tbl) do
    minKey = math.min(k, minKey)
end

关于lua - 如何在 Lua 中获取第一个表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27850362/

相关文章:

lua - 如何设置 Lua 脚本在每次 LPUSH 到某个列表后运行?

lua - 我的 lua 代码中有内存泄漏吗? (lua 表)

c - LUA C API - luaL_ref 的弱引用

lua - 从 LUA 中的同一个表中检索属性

lua - Lua 中与 debug.getlocal 的混淆

lua - 在 Lua 中为变量添加值?

c++ - 我是否可以将嵌套的 lua 表作为 C 函数的参数读取?

lua - Lua表的一个有趣现象

lua - lua中的对象创建

algorithm - 按 Lua 中的嵌套值对表进行排序