對象應該包含每個索引的一對值。lua索引不返回多個值
object = {}
function object:new()
self.elements = {}
setmetatable(self, self)
return self
end
function object:append(first, second)
self.elements[#self.elements + 1] = {first, second}
end
function object:__index(k)
return unpack(self.elements[k])
end
當我嘗試通過索引訪問值時,我只獲得該對的第一個值。
o:append(1,2)
o:append(3,4)
> return o[1]
1
直接__index方法涉及產生預期結果。
> return o:__index(1)
1 2
是什麼原因?
就是這樣。 – lhf 2014-11-25 11:10:16