From 5a64ace81c91f534637555c60ee35dbfa5f6ac26 Mon Sep 17 00:00:00 2001 From: Waqas Hussain Date: Fri, 9 Dec 2011 12:02:21 +0500 Subject: util.array: Avoid globals. --- util/array.lua | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/util/array.lua b/util/array.lua index fdf3c9a3..5dc604ba 100644 --- a/util/array.lua +++ b/util/array.lua @@ -9,6 +9,11 @@ local t_insert, t_sort, t_remove, t_concat = table.insert, table.sort, table.remove, table.concat; +local setmetatable = setmetatable; +local math_random = math.random; +local pairs, ipairs = pairs, ipairs; +local tostring = tostring; + local array = {}; local array_base = {}; local array_methods = {}; @@ -27,7 +32,7 @@ setmetatable(array, { __call = new_array }); -- Read-only methods function array_methods:random() - return self[math.random(1,#self)]; + return self[math_random(1,#self)]; end -- These methods can be called two ways: @@ -80,7 +85,7 @@ end function array_methods:shuffle(outa, ina) local len = #self; for i=1,#self do - local r = math.random(i,len); + local r = math_random(i,len); self[i], self[r] = self[r], self[i]; end return self; @@ -104,18 +109,18 @@ function array_methods:append(array) end function array_methods:push(x) - table.insert(self, x); + t_insert(self, x); return self; end function array_methods:pop(x) local v = self[x]; - table.remove(self, x); + t_remove(self, x); return v; end function array_methods:concat(sep) - return table.concat(array.map(self, tostring), sep); + return t_concat(array.map(self, tostring), sep); end function array_methods:length() @@ -128,7 +133,7 @@ function array.collect(f, s, var) while true do var = f(s, var); if var == nil then break; end - table.insert(t, var); + t_insert(t, var); end return setmetatable(t, array_mt); end -- cgit v1.2.3