2014-11-06 3 views
2

Я получаю действительно странную индексацию ошибки значения nil, которую я не могу понять, как решить для меня жизнь. Вот код:Lua пытается индексировать? (значение nil)

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

Это число '0' или строка' '0" 'в' COLONYNUMBER'? –

ответ

3

выстрел в темноте, но игроки [0] .getColony() возвращает строку '0'? потому что это напечатало бы в интерпретаторе lua как 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 
+1

Я добавил tonumber (COLONYNUMBER), и он отлично работал, спасибо – user3753698

Смежные вопросы