나는 나의지도 모듈에서지도라는 루아 테이블 객체를 생성하고,이 기능은 새로운 인스턴스를 생성합니다루아 표 객체가 비어있는 이유는 무엇입니까?
local map = require (*map module location*)
Island = map:new()
:
function Map:new (o)
o = o or {
centers = {},
corners = {},
edges = {}
}
setmetatable(o, self)
self.__index = self
return o
end
내가 처음 몇 줄이 코드에 넣어 내 섬 모듈
내가 센터, 모서리, 그리고 테이블의 수를 인쇄 할 때, 그들은 모두 0
에 나올 나는 코너에 대한 별도의 모듈이 있습니다) (새로운 및 Edge : 새 (센터) (새)
왜 센터, 모서리 및 가장자리의 길이가 0으로 출력됩니까?
편집 :
이
function pointToKey(point)
return point.x.."_"..point.y
end
function Map:generateCenters(centers)
local N = math.sqrt(self.SIZE)
for xx = 1, N do
for yy = 1, N do
local cntr = Center:new()
cntr.point = {x = 0.5+xx - 1, y = 0.5+yy - 1}
centers[pointToKey(cntr.point)] = cntr
end
end
return centers
end
는 크기는 항상이 될 것으로 보인다 완벽한 정사각형
'지도 : 새로운()는'빈 테이블을 가리 키 등 키'corners'와 테이블을 리턴합니다. 크기가 0과 다른 이유는 무엇입니까? – GoojajiGreg
'Island.corners'의 요소 수를 확인하기 전에'table.insert (Island.corners, Corner : new())'를하고 있습니까? – GoojajiGreg
@ GoojajiGreg 다시 확인해보세요. 무슨 뜻인지 알게되었으므로 조금 더 깊이 들어 봤습니다. 혼란스러운 점은 미안합니다. – Denfeet