首页 > 解决方案 > “尝试索引一个零值(字段'?')”

问题描述

我做错了什么,我知道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

标签: lua

解决方案


local measurements[did] = {}

measurements[did]索引did表中的字段measurements

您不能将表达式用作变量名。此外,由于提供的代码中的测量值为零,因此索引零值时会出错。

尝试这样的事情:

local measurements = {}

if did and measurementId then
  measurements[did] = {}
  measurements[did][measurementId] = newMessage
end

推荐阅读