首页 > 解决方案 > 如何访问 lua 表中的值?

问题描述

我有以下 lua 代码,可以打印出设备的 Mac 地址。

local sc = Command.Scan.create() 
local devices = sc:scan() 
local topicMac
local list = {}

for _,device in pairs(devices) do 
   print(device:getMACAddress())
   list[device] = device:getMACAddress()
end
  
topicMac = list[0]
print(topicMac)

由于有几个地址并且它们列在一个表中,我想只将第一个地址保存到局部变量“topicMac”中。我尝试通过在数组中添加第一个索引(0 或 1)来达到第一个值。

为什么我会得到nil回报?

标签: lualua-table

解决方案


next关键字可用作变体函数以从表中检索第一个索引和值

local index, value = next(tab) -- returns the first index and value of a table

所以在你的情况下:

local _, topicMac = next(list)

推荐阅读