From 65fafa7b630fb34fdceb644d080dba517b47d142 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Wed, 8 Aug 2012 11:49:31 +0100 Subject: util.array: Accept an iterator to the array constructor --- util/array.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'util/array.lua') diff --git a/util/array.lua b/util/array.lua index 5dc604ba..b78fb98f 100644 --- a/util/array.lua +++ b/util/array.lua @@ -19,7 +19,10 @@ local array_base = {}; local array_methods = {}; local array_mt = { __index = array_methods, __tostring = function (array) return array:concat(", "); end }; -local function new_array(_, t) +local function new_array(self, t, _s, _var) + if type(t) == "function" then -- Assume iterator + t = self.collect(t, _s, _var); + end return setmetatable(t or {}, array_mt); end -- cgit v1.2.3