From 464233bca26f57449658b8aba4e87a7fdb4c11ac Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Fri, 15 Apr 2016 13:20:31 +0200 Subject: [PATCH] util.iterators: Add iterator wrapper that works like select(n, ...) applied to original iterator --- util/iterators.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/util/iterators.lua b/util/iterators.lua index 5f03bd10..bd150ff2 100644 --- a/util/iterators.lua +++ b/util/iterators.lua @@ -54,6 +54,15 @@ function it.values(t) end, t; end +-- Iterate over the n:th return value +function it.select(n, f, s, var) + return function (_s) + local ret = pack(f(_s, var)); + var = ret[1]; + return ret[n]; + end, s, var; +end + -- Given an iterator, iterate only over unique items function it.unique(f, s, var) local set = {}; -- 2.30.2