私はLuaでクラスを持っています。このコンストラクターでは、(空のテーブルで) 変数を宣言し、オブジェクトの関数にアクセスして、このテーブルにオブジェクトを挿入したいと考えています。私のコードはこれです:
local BoxClass = require("Box")
local SurpriseBox = {}
local SurpriseBox_mt = { __index = SurpriseBox } -- metatable
function SurpriseBox.new() -- constructor
local object = {
boxes = {}
}
SurpriseBox:CreateBoxes()
print('constructor -> ' .. #object.boxes) --> 0
return setmetatable( object, SurpriseBox_mt )
end
-------------------------------------------------
function SurpriseBox:CreateBoxes()
local box1 = BoxClass.new('palo', 'images/chestClose.gif', 'OPEN')
local box2 = BoxClass.new('moneda', 'images/chestClose.gif', 'OPEN')
self.boxes = { box1, box2}
end
関数 CreateBoxes() にアクセスした後、テーブル内には何もありません。
ご協力いただきありがとうございます!