我正在创建一个使用 Corona 类结构的应用程序,当我想传递数组对象来创建对象时遇到问题。 我有这个:
main.lua
local SurpriseBoxClass = require("SurpriseBox")
local BoxClass = require("Box")
local box1 = BoxClass.new('palo', 'images/chestClose.gif', 'OPEN')
local box2 = BoxClass.new('moneda', 'images/chestClose.gif', 'OPEN')
boxes = { box1, box2 }
local game = SurpriseBoxClass.new(boxes)
SurpriseBox.lua
local SurpriseBox = {}
local SurpriseBox_mt = { __index = SurpriseBox }
function SurpriseBox.new(boxesAux)
local object = {
boxes = boxesAux
}
return setmetatable( object, SurpriseBox_mt )
end
问题是当我想在 SurpriseBox 的方法中打印数组的内容时,程序告诉我数组为零,例如我这样做:
print(boxes[0])
我能做什么?
谢谢!
最佳答案
Lua 表是从 1 开始的。
尝试print(boxes[1],boxes[2])
。
它将打印表 ID。如果需要打印表的内容,则必须迭代其字段,或者use a custom printer that does it for you (请参阅“递归打印表格”)。
关于android - 在 Corona 中使用类传递数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16355007/