[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [PoC] Tables aren't Lua's only data structure.
- From: Sean Conner <sean@...>
- Date: Fri, 17 Apr 2015 04:47:14 -0400
It was thus said that the Great Soni L. once stated:
>
> Conclusion: By making a function like:
>
> local function stackmanager(action, value, ...)
> if action == "push" then
> local _action, _value = coroutine.yield()
> return stackmanager(_action, _value, value, ...)
> elseif action == "pop" then
> local _action, _value = coroutine.yield((...)) -- yield only stack top
> return stackmanager(_action, _value, select(2, ...))
> end
> end
>
> You can use coroutines as a revolutionary data structure! With this, Lua
> doesn't have 1, but 2 data structures. (One could argue strings are also
> a data structure, and then you'd have 3.)
Ah yes. Closures are a poor man's object.
http://c2.com/cgi/wiki?ClosuresAndObjectsAreEquivalent
http://stackoverflow.com/questions/2497801/closures-are-poor-mans-objects-and-vice-versa-what-does-this-mean
-spc (seems a bit less obvious and slower than table.insert() and
table.remove() ... )