proto Vector function __init(self) self.vector = {} self.x = 0 end function push(self, val) self.vector[self.x++] = val end function pop(self) return self.vector[--self.x] end function __index(self, key) return self.vector[key] end function __iter(self) self.iterIndex = 0 return self end function __next(self) if self.iterIndex > self.x then return nil end return vector[self.iterIndex++] end end var vector = Vector() for (var i = 0; i < 100000; i++) do vector.push(i) end for i in vector do print(i) end