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

Lua动态生成开关状态查找表取值返回nil问题求助

问题原因

你代码的核心问题出在查表语法的使用错误,另外还有一个注释符号的小问题:

  • 你定义LookupTable时,P61、P62这类键默认是字符串类型的键,等价于["P61"] = P61v
  • 你查表时写的LookupTable[P62]中,P62是未声明的变量,Lua会把它识别为nil值,用nil当键查表自然返回nil
  • 另外你第二块注释开头用了全角的破折号—,Lua的注释需要用半角的减号--,部分严格环境下这个全角符号会触发语法错误

修复方案

把查表的键改为字符串形式即可,修改后的完整代码如下:

-- retrieved http.request status of 4 binary switches 
local P61v = 1
local P62v = 0
local P63v = 1
local P64v = 0

-- following table should allow us to look up the status of all associated light by their  plug names P61, P62, P63 etc.

local LookupTable = {
    P61 = P61v,
    P62 = P62v,
    P63 = P63v,
    P64 = P64v
}
-- 这里把P62改为字符串"P62"作为键查表
local x = LookupTable["P62"]
-- 或者也可以用点语法:local x = LookupTable.P62
print(x)

修改后运行会输出预期的0值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:57:04