27 lines
523 B
Lua
27 lines
523 B
Lua
local Queue = {}
|
|
Queue.__index = Queue
|
|
function Queue:__call()
|
|
local function next()
|
|
return self:dequeue()
|
|
end
|
|
return next
|
|
end
|
|
function Queue:__tostring()
|
|
return table.concat(self.queue, ", ")
|
|
end
|
|
function Queue:new()
|
|
local c = {}
|
|
setmetatable(c,self)
|
|
c.queue = {}
|
|
return c
|
|
end
|
|
function Queue:enqueue(data)
|
|
table.insert(self.queue,data)
|
|
end
|
|
function Queue:peek(data)
|
|
return self.queue[1]
|
|
end
|
|
function Queue:dequeue(data)
|
|
return table.remove(self.queue,1)
|
|
end
|
|
return Queue |