Lua 尝试索引? (零值)

Posted

技术标签:

【中文标题】Lua 尝试索引? (零值)【英文标题】:Lua attempt to index ? (a nil value) 【发布时间】:2014-11-06 21:15:01 【问题描述】:

我遇到了一个非常奇怪的索引零值错误,我无法弄清楚如何为我的生活解决。代码如下:

local COLONYNUMBER = players[0].getColony()
print(COLONYNUMBER) <--- prints 0
print(colonies[0].getName())  <---- prints New Brussels
print(colonies[COLONYNUMBER].getName()) <---- ERROR HERE

【问题讨论】:

是数字0还是COLONYNUMBER中的字符串"0" 【参考方案1】:

在黑暗中拍摄,但 player[0].getColony() 是否返回字符串 '0'?因为这会在 lua 解释器中打印为 0,但绝对不会将表索引为 0。我在下面谈论的例子:

local t = '0'
print(t)
-- below prints exactly the same as variable t above
local u = 0
print(u)

local temp =  [0] = true 
-- try to index into the temp table with '0'
print(temp[t]) -- undefined

【讨论】:

我在其中添加了 tonumber(COLONYNUMBER) 并且效果很好,谢谢

以上是关于Lua 尝试索引? (零值)的主要内容,如果未能解决你的问题,请参考以下文章

Lua - util_server.lua:440 尝试索引本地“自我”(零值)

Lua“尝试索引?(一个零值)

LUA 错误:尝试索引零值 @6:16

'尝试索引字段'颜色'(零值)'在LUA中访问数组时

尝试索引全局 'io'(零值)

错误:尝试索引本地“自我”(零值)