# HG changeset patch # User Matthew Wild # Date 1279625848 -3600 # Node ID 6e31b49c4ab874a3db8538d617f9d60e86b8d9f5 # Parent 8ac3f60af3c472c916fd2d862a4e05d6d5e909f0 util.iterators: Add skip() to skip the first n items of an iterator diff -r 8ac3f60af3c4 -r 6e31b49c4ab8 util/iterators.lua --- a/util/iterators.lua Sun Jul 18 17:50:38 2010 +0500 +++ b/util/iterators.lua Tue Jul 20 12:37:28 2010 +0100 @@ -90,6 +90,15 @@ end, s; end +-- Skip the first n items an iterator returns +function skip(n, f, s, var) + for i=1,n do + var = f(s, var); + end + return f, s, var; +end + +-- Return the last n items an iterator returns function tail(n, f, s, var) local results, count = {}, 0; while true do