You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Lua中引用无键表的第一个条目?

Lua数组表第一个元素的直接引用方法

问题原因

Lua中数组风格的表(无显式键的列表型表)默认从索引1开始分配键,而非其他语言常用的0。你尝试用foo.bar[0]访问第一个元素,自然会返回nil,因为这个索引在表中不存在。

直接引用方法

直接使用索引1即可访问bar的第一个条目,无需循环:

-- 直接获取第一个条目
local first_item = foo.bar[1]

-- 打印验证
print("foo.bar[1]", "type", type(first_item), "value", first_item)
-- 访问条目中的具体字段
print("baz的值:", first_item.baz)
print("qux的值:", first_item.qux)

执行上述代码会输出:

foo.bar[1] type    table   value   table: 000001DF39D19D20
baz的值: A sample string
qux的值: 128

补充说明

你定义的bar是一个标准的Lua数组表:

bar = {
    { ['baz'] = "A sample string", ['qux'] = 128 },
}

这里面的子表没有指定键,Lua会自动为其分配从1开始的连续整数键,因此第一个子表的键是1,这是Lua数组的默认行为。

内容的提问来源于stack exchange,提问作者Jim Fell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 08:33:15