大约一年前我正在研究这个项目。我回到它,现在它在我运行时抛出错误,错误是"尝试调用字段"抽屉"(表值)"。
这是抽屉字段的位置
local Renderer = {}
local num_of_layers = 2
local insert = table.insert
local remove = table.remove
function Renderer:create()
local render = {}
render.drawers = {}
for i = 0, num_of_layers do
render.drawers[i] = {}
end
function render:addRenderer(obj, layer)
local l = layer or 0
insert(self.drawers(l), i, obj)
end
return render
end
return Renderer
这就是它被称为
的地方local tlm = {}
function tlm:load()
renderer:addRenderer(self)
gameloop:addLoop(self)
end
答案 0 :(得分:0)
这是不正确的:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div">
<input name="input1" value="input1_value">
<textarea name="textarea1">textarea_value</textarea>
</div>
insert(self.drawers(l), obj)
不是函数,而是表。因此,像self.drawers
这样的函数调用会导致错误。
如果你想使用Luas标准函数在索引l处向表self.drawer插入一个元素,你应该调用:
self.drawers(1)
如果要替换索引l处的值,只需编写table.insert(self.drawers, i, obj)