lua - 如何访问 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
回报?
解决方案
next
关键字可用作变体函数以从表中检索第一个索引和值
local index, value = next(tab) -- returns the first index and value of a table
所以在你的情况下:
local _, topicMac = next(list)
推荐阅读
- c# - async/await 方法的内存占用
- typescript - 返回泛型类型的函数在没有具体类型的情况下不起作用
- apache-spark - 从 Kafka 批量写入不观察检查点并写入重复项
- php - 是否可以在 laravel 中为后端和前端创建单独的错误页面?
- javascript - React Native-Firebase:重新连接时如何关闭数据自动同步?
- c# - 使用相同逻辑的不同结果
- .net - 404 - 找不到文件或目录。您要查找的资源可能已被删除或重命名
- android - 为 Google Play 服务清除数据时的意图操作
- git - Git 恢复被 git fetch origin + git reset --hard 删除的本地文件
- python - AttributeError:模块 'socket' 没有属性 'MSG_DONTWAIT'