diff options
Diffstat (limited to 'lua/table_iterator.lua')
| -rw-r--r-- | lua/table_iterator.lua | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lua/table_iterator.lua b/lua/table_iterator.lua new file mode 100644 index 00000000..5bacada6 --- /dev/null +++ b/lua/table_iterator.lua @@ -0,0 +1,27 @@ + +local TableIterator = {} + +function TableIterator:create(table) + local iterator = {}; + iterator.index = 0; + iterator.table = table; + + function iterator:clone() + return TableIterator:create(table) + end + + function iterator:next() + self.index = self.index + 1 + return self.table[self.index] + end + + function iterator:prev() + self.index = self.index - 1 + return self.table[self.index] + end + + return iterator +end + + +return TableIterator
\ No newline at end of file |
