From a3c13a5074a5b2967402be5a4d29408714940289 Mon Sep 17 00:00:00 2001
From: Matthew Wild <mwild1@gmail.com>
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')

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