Iterators
Iterators provide a way to traverse data. Iterators will usually use a closure to keep track of what data it's on and uses that to determine what to give next.
Take the iterator ipairs
for example, it traverses a table in sequence. Its implementation can be written like this:
Using closures, you can define your own way to iterate through a set of data. You could iterate half of it forward and half of it backwards, iterate the entire thing in reverse, iterate every 2 values, etc.
Here's what a reverse ipairs
would look like:
Last updated