diff options
author | Matthew Wild <mwild1@gmail.com> | 2013-04-12 00:44:49 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2013-04-12 00:44:49 +0100 |
commit | 733476db7b1b6094cc60196cd6f8cdc633e5694a (patch) | |
tree | dcc1a5dc06312b3b80f84e8b40b3e461c3a4005b /util/iterators.lua | |
parent | 2853b6385d419357b3429ab146fda8ff6f7133cc (diff) | |
download | prosody-733476db7b1b6094cc60196cd6f8cdc633e5694a.tar.gz prosody-733476db7b1b6094cc60196cd6f8cdc633e5694a.zip |
util.iterators: Add ripairs() (ipairs() in reverse) (thanks Maranda)
Diffstat (limited to 'util/iterators.lua')
-rw-r--r-- | util/iterators.lua | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/util/iterators.lua b/util/iterators.lua index fb89f4a5..1f6aacb8 100644 --- a/util/iterators.lua +++ b/util/iterators.lua @@ -122,6 +122,11 @@ function it.tail(n, f, s, var) --return reverse(head(n, reverse(f, s, var))); end +local function _ripairs_iter(t, key) if key > 1 then return key-1, t[key-1]; end end +function it.ripairs(t) + return _ripairs_iter, t, #t+1; +end + local function _range_iter(max, curr) if curr < max then return curr + 1; end end function it.range(x, y) if not y then x, y = 1, x; end -- Default to 1..x if y not given |