|
Hi all,
I’m looking for the best (?) general way to implement *nested* iterators in
Lua (5.3, of course).
For example: I have an iterator that returns single items when used
in a FOR .. IN loop. Each item is treated somehow but that loop, and the
result I want it to become available in another iterator.
Easy, but I do NOT want to store all intermediate results in a table, and
then traverse the table again, as the size of the table could be too large or
even unknown while the iterator is running (until some condition happens that
terminates it).
In Python 3, for example, this would be very simple with each routine using
YIELD instead of RETURN, and iterators can be nested to an arbitrary
level. But, in Lua, I can’t seem to find an obvious (memory efficient)
solution. (I would love for Lua to have the same simplicity in this
regard.)
Perhaps explicit use of co-routines is one solution, but maybe there is a
more immediate way I missed.
Maybe someone can point me to some example.
TIA.
Tony P. |