#lua
#lua
Вопрос:
Я пытаюсь создать простой контейнер объектов в Lua (чтобы немного попрактиковаться в языке)
Container = {}
Container.__index = Container
function Container.create( maxNumber )
local c = {} -- our new object
setmetatable(c, Container)
c.maxNumberOfRecords = maxNumber
c.cont = {}
return c
end
function Container:add(index, val)
self.cont[index] = val
end
function Container:getAt(index)
return self.cont[index]
end
return Container
но я всегда получаю ошибку Attempt to index field 'cont' (a nil value)
, когда пытаюсь добавить в контейнер. Кто-нибудь может сказать мне, в чем проблема?
Я совершенно новичок в lua, но я просмотрел код в документации http://lua-users.org/wiki/SimpleLuaClasses
Ответ №1:
Можете ли вы показать пример кода, который не работает? Для меня это выглядит нормально:
> Container = require "Container"
> c = Container.create(5)
> c:add(2, 42)
> =c:getAt(2)
42
Комментарии:
1. Спасибо, я глуп, у меня есть привычка из Java / Python вызывать функцию. и не :. Это была ошибка