lua - “尝试索引一个零值(字段'?')”
问题描述
我做错了什么,我知道nil
表格中存在问题,但是:
local did = gwaExtractFromTopic(2)
local measurementId = gwaData.id
local newMessage = gwaData.value
local topic = gwaExtractFromTopic(2)
if did ~= nil and measurementId ~= nil then
table[did][measurementId] = newMessage
end
仍然在我得到的代码中attempt to index a nil value (field '?')
编辑:我已经更改了源代码,但仍然无法正常工作:
local measurements[did] = {}
if did and measurementId and tab[did] then
measurements[did][measurementId] = newMessage
end
解决方案
local measurements[did] = {}
measurements[did]
索引did
表中的字段measurements
您不能将表达式用作变量名。此外,由于提供的代码中的测量值为零,因此索引零值时会出错。
尝试这样的事情:
local measurements = {}
if did and measurementId then
measurements[did] = {}
measurements[did][measurementId] = newMessage
end
推荐阅读
- excel - VBA:获取运行时 1004:对象“_Worksheet”的方法“范围”失败。它没有复制到范围
- c - 递归阶乘函数程序为 C 中的大量输入返回 0
- kubernetes - Prometheus:减法上的标签匹配
- javascript - 能够注册和签署多个 Fido U2F 安全密钥
- reactjs - 流输入错误:无法使用绑定到操作的对象文字调用调度,因为:
- javascript - 生成 3 个非重复值
- javascript - noscript.innerHTML 跨浏览器有不同的结果
- firebase - Firebase Crashlytics:相同的应用程序发送到不同的 Firebase 项目
- linux - rpminstall - 在安装期间在 rpm 中运行 shell 脚本
- sql - 记录存在于一个 DB2 表中,但不存在于另一个表中