summaryrefslogtreecommitdiff
path: root/Data/DefaultContent/Libraries/containers/stack.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Data/DefaultContent/Libraries/containers/stack.lua')
-rw-r--r--Data/DefaultContent/Libraries/containers/stack.lua67
1 files changed, 0 insertions, 67 deletions
diff --git a/Data/DefaultContent/Libraries/containers/stack.lua b/Data/DefaultContent/Libraries/containers/stack.lua
deleted file mode 100644
index d828c81..0000000
--- a/Data/DefaultContent/Libraries/containers/stack.lua
+++ /dev/null
@@ -1,67 +0,0 @@
---堆栈实现
-stack = stack or {}
-
-function stack.create()
- local data = {}
-
- local function push(v)
- assert(v)
- table.insert(data, v)
- end
-
- local function pop()
- assert(#data > 0)
- table.remove(data)
- end
-
- local function peek()
- return #data > 0 and data[#data] or nil
- end
-
- local function clear()
- for i=1,#data do
- data[i] = nil
- end
- end
-
-
-
- local __tostring = function()
- local tmp = {}
- for i,v in ipairs(data) do
- tmp[#data+1 - i] = v
- end
- return table.concat(tmp, ",")
- end
-
- local __index = function(i_t, key)
- error(">> Dee: Limited access")
- end
-
- local __len = function()
- return #data
- end
-
- local __newindex = function(i_t, key, v)
- error(">> Dee: Limited access")
- end
-
- local __ipairs = function()
- error(">> Dee: Limited access")
- end
-
- local mt = {__tostring = __tostring, __index = __index, __newindex = __newindex, __ipairs = __ipairs, __pairs = __ipairs, __len = __len}
-
- local t = {
- push = push,
- pop = pop,
- peek = peek,
- clear = clear
- }
-
- setmetatable(t, mt)
-
- return t
-end
-
-return stack \ No newline at end of file