我正在尝试在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
答案 0 :(得分:3)
你能展示一个不起作用的代码示例吗?它对我来说没问题:
> Container = require "Container"
> c = Container.create(5)
> c:add(2, 42)
> =c:getAt(2)
42