summaryrefslogtreecommitdiff
path: root/lua/table_iterator.lua
blob: 5bacada6b86afe0e7715ed70150e65437ce48aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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