Lua尝试索引一个空值?

我遇到了一个非常奇怪的问题,提示“访问空值”,我无论如何也无法解决。以下是代码:

local COLONYNUMBER = players[0].getColony()
print(COLONYNUMBER) <--- 打印为0
print(colonies[0].getName())  <---- 打印为New Brussels
print(colonies[COLONYNUMBER].getName()) <---- 在这里出错
点赞
用户1208078
用户1208078

很冒险,但是 players[0].getColony() 返回的字符串是 '0' 吗?因为在 lua 解释器中它会被打印为 0,但绝对不会被用作零来索引表。以下是我谈论内容的示例:

local t = '0'
print(t)
-- 下面的代码跟上面的变量 t 完全一样
local u = 0
print(u)

local temp = { [0] = true }
-- 试图用 '0' 作为索引来访问 temp 表
print(temp[t]) -- undefined
2014-11-06 21:19:32