local Center = {}
function Center:new (o)
o = o or {}
setmetatable(o, self)
-- did you forgot this ?
self.corners = {}
self.__index = self
return o
end
local Corner = {}
function Corner:new()
return {}
end
local Map = {
}
function Map:fill(points)
self.centers = {}
for k, pt in pairs(points) do
self.centers[k] = Center:new() --<centers> is part of my Map object, and Center is an object
--repeats 4 times for each corner of a square
local bottomleft = Corner:new()
table.insert(self.centers[k].corners, bottomleft)
local bottomleft = Corner:new()
table.insert(self.centers[k].corners, bottomleft)
local bottomleft = Corner:new()
table.insert(self.centers[k].corners, bottomleft)
local bottomleft = Corner:new()
table.insert(self.centers[k].corners, bottomleft)
end
print(#self.centers[1].corners)
end
-- your code goes here
local points = {{1,2}, {3,4}, {5,6}, {7,8}, {9,10}}
Map:fill(points)
bG9jYWwgQ2VudGVyID0ge30KCmZ1bmN0aW9uIENlbnRlcjpuZXcgKG8pCiAgICBvID0gbyBvciB7fQogICAgc2V0bWV0YXRhYmxlKG8sIHNlbGYpCgogICAgLS0gZGlkIHlvdSBmb3Jnb3QgdGhpcyA/CiAgICBzZWxmLmNvcm5lcnMgPSB7fQogICAgCiAgICBzZWxmLl9faW5kZXggPSBzZWxmCiAgICByZXR1cm4gbwplbmQKCmxvY2FsIENvcm5lciA9IHt9CmZ1bmN0aW9uIENvcm5lcjpuZXcoKQoJcmV0dXJuIHt9CmVuZAoKbG9jYWwgTWFwID0gewp9CgpmdW5jdGlvbiBNYXA6ZmlsbChwb2ludHMpCglzZWxmLmNlbnRlcnMgPSB7fQoJZm9yIGssIHB0IGluIHBhaXJzKHBvaW50cykgZG8KCSAgICBzZWxmLmNlbnRlcnNba10gPSBDZW50ZXI6bmV3KCkgLS08Y2VudGVycz4gaXMgcGFydCBvZiBteSBNYXAgb2JqZWN0LCBhbmQgQ2VudGVyIGlzIGFuIG9iamVjdAoJICAgIAoJICAgIC0tcmVwZWF0cyA0IHRpbWVzIGZvciBlYWNoIGNvcm5lciBvZiBhIHNxdWFyZQoJICAgIGxvY2FsIGJvdHRvbWxlZnQgPSBDb3JuZXI6bmV3KCkKCSAgICB0YWJsZS5pbnNlcnQoc2VsZi5jZW50ZXJzW2tdLmNvcm5lcnMsIGJvdHRvbWxlZnQpCgoJICAgIGxvY2FsIGJvdHRvbWxlZnQgPSBDb3JuZXI6bmV3KCkKCSAgICB0YWJsZS5pbnNlcnQoc2VsZi5jZW50ZXJzW2tdLmNvcm5lcnMsIGJvdHRvbWxlZnQpCgoJICAgIGxvY2FsIGJvdHRvbWxlZnQgPSBDb3JuZXI6bmV3KCkKCSAgICB0YWJsZS5pbnNlcnQoc2VsZi5jZW50ZXJzW2tdLmNvcm5lcnMsIGJvdHRvbWxlZnQpCgoJICAgIGxvY2FsIGJvdHRvbWxlZnQgPSBDb3JuZXI6bmV3KCkKCSAgICB0YWJsZS5pbnNlcnQoc2VsZi5jZW50ZXJzW2tdLmNvcm5lcnMsIGJvdHRvbWxlZnQpCgllbmQKCglwcmludCgjc2VsZi5jZW50ZXJzWzFdLmNvcm5lcnMpCmVuZAoKCi0tIHlvdXIgY29kZSBnb2VzIGhlcmUKbG9jYWwgcG9pbnRzID0ge3sxLDJ9LCB7Myw0fSwgezUsNn0sIHs3LDh9LCB7OSwxMH19Ck1hcDpmaWxsKHBvaW50cykK