android - Acces function from constructor in Lua -


i have class in lua. in constructor declare variables (in empty table) , after want acces function of object insert objects in table. code this:

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 

after access function createboxes() there nothing inside table.

thanks help!

when call surprisebox:createboxes(), self parameter still points surprisebox table, not object table created. should this:

function surprisebox.new()  -- constructor   local object = setmetatable( {boxes = {}}, surprisebox_mt )   object:createboxes()   print('constructor -> ' .. #object.boxes) end 

the key assign metatable before call createboxes() , call on object, not surprisebox.


Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -