Stack
An object returned by util.Stack.
Like a Lua table, a Stack is a container. It follows the principle of LIFO (last in, first out).
The Stack works like a stack of papers: the first page you put down (push) will be the last one you remove (pop). That also means that the last page you put down, will be the first to be removed.
Example
local NewStack = util.Stack(); -- Creating a Stack
NewStack:Push("Hello World!") -- Push "Hello World!" onto the stack
NewStack:Push(print) -- Push the print function onto the Stack
local PrintFunc = NewStack:Top() -- Get the print Function
NewStack:Pop() -- Remove the print Function from the stack
PrintFunc(NewStack:Top()) -- print "Hello World!"
NewStack:Pop() -- Remove "Hello World!"
Output: Hello World!